Выполнить метод каждый раз, когда приложение запускает [дубликат]

Также, если вы используете сторонние библиотеки, убедитесь, что у вас есть правильные 32/64 битные файлы

3
задан Aashir 16 October 2013 в 23:22
поделиться

2 ответа

Вы можете расширить Application и запустить этот метод в onCreate вашего пользовательского класса приложения. Это выполняется только один раз для запуска приложения.

Например:

public class MyApp extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        // Your methods here...
    }
}

Обратите внимание, что это не должно длиться долго. Если это займет какое-то время, сделайте это в AsyncTask.

Наконец, вам нужно сообщить Android, что у вас есть собственный класс приложений. Вы делаете это в своем манифесте, ссылаясь на свой класс приложения в атрибуте android:name тега application:

<manifest ... >
    <application
        android:name=".MyApp"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity>
            ...
        </activity>
    </application>
</manifest>
6
ответ дан Adam S 27 August 2018 в 23:14
поделиться

Вы можете подклассифицировать класс приложения. Затем переопределите метод onCreate в подклассе класса Application. Добавьте поле в подкласс приложения.

public class SubApplication extends Application {
public boolean hasRefreshed;
        @Override
    public void onCreate() {
        super.onCreate();
        hasRefreshed=false;
    }
}

Затем, когда вы выполняете свою деятельность:

SubApplication app = (SubApplication ) context
                    .getApplicationContext();
if(app.hasRefreshed){
//do nothing
}else{
refresh();
app.hasRefreshed=true;
}

В последний раз добавьте эту строку в манифест, чтобы система знала, что нужно использовать подкласс.

<application
        android:name=".SubApplication "
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity>
            ...
        </activity>
    </application>
1
ответ дан wtsang02 27 August 2018 в 23:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: