2017-02-22 22 views
-1

В проекте андроида есть несколько действий. Но какое действие, безусловно, вызывается, когда приложение будет удалено из списка приложений.Какое действие вызывается при удалении приложения из недавнего списка в android?

Я проверил следующие вопросы. Но все эти вопросы являются специфическими для деятельности или службы

How to handle code when app is killed by swiping in android?

How to detect app removed from the recent list

What method is being called when I close an app

+0

нет такой активности не называется. Но вызывается метод onDestroy для всех видов деятельности, которые находятся в стеке или работают. –

ответ

0

я застрял в очень похожем сценарии, где мне нужно проследить, из которых деятельности пользователя удаленное приложение из последнего списка, поэтому переход к точке

Шаг 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 и Вы знаете название деятельности, становится разрушенным