я застрял в очень похожем сценарии, где мне нужно проследить, из которых деятельности пользователя удаленное приложение из последнего списка, поэтому переход к точке
Шаг 1: Создание класса ApplicationLifeCycleHandler и реализация Мент Application.ActivityLifecycleCallbacks, ComponentCallbacks2
Код
public class ApplicationLifeCycleHandler implements Application.ActivityLifecycleCallbacks , ComponentCallbacks2 {
private static final String TAG = "AppLifeCycleShareTime";
private static boolean isInBackground = false;
@Override
public void onActivityCreated(Activity activity, Bundle bundle) {
Log.d(TAG , "onActivityCreated");
}
@Override
public void onActivityStarted(Activity activity) {
Log.d(TAG , "onActivityStarted");
}
@Override
public void onActivityResumed(Activity activity) {
Log.d( TAG , "onActivityResumed : " + ShareTime.currentActivity.getClass().getName());
if(isInBackground){
Log.d(TAG, "app went to foreground");
isInBackground = false;
}
}
@Override
public void onActivityPaused(Activity activity) {
Log.d( TAG , "onActivityPaused : " + activity.getClass().getName());
}
@Override
public void onActivityStopped(Activity activity) {
Log.d(TAG , "onActivityStopped : " + activity.getClass().getName());
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle bundle) {
Log.d( TAG , "onActivitySaveInstanceState");
}
@Override
public void onActivityDestroyed(Activity activity) {
Log.d(TAG , "onActivityDestroyed Parent : " + activity.getClass().getName());
}
@Override
public void onConfigurationChanged(Configuration configuration) {
Log.d(TAG , "onConfigurationChanged");
}
@Override
public void onLowMemory() {
Log.d(TAG , "onLowMemory");
}
@Override
public void onTrimMemory(int i) {
Log.d(TAG , "onTrimMemory");
if(i == ComponentCallbacks2.TRIM_MEMORY_UI_HIDDEN){
Log.d(TAG, "app went to background");
isInBackground = true
}
}
}
Теперь Создание класса MyApplication и расширить его применения
Код
public class MyApplication extends Application {
public static FileMetadata file;
@Override
public void onCreate() {
super.onCreate();
ApplicationLifeCycleHandler handler = new ApplicationLifeCycleHandler();
registerActivityLifecycleCallbacks(handler);
registerComponentCallbacks(handler);
}
}
Шаг 3: Открыть манифест файла и добавить андроид: имя = «MyApplication» для приложения Tag
Шаг 4: Проверить Логи onActivityDestroyed и Вы знаете название деятельности, становится разрушенным
нет такой активности не называется. Но вызывается метод onDestroy для всех видов деятельности, которые находятся в стеке или работают. –