[英]Which lifecycle events are called when an app is removed from recent apps list?
[英]Which activity is called when app removed from recent list in android?
android 项目中有几个活动。 但是当从应用程序列表中删除应用程序时,肯定会调用哪个活动。
我检查了以下问题。 但所有这些问题都特定于一项活动或服务
我也陷入了非常相似的场景中,我需要跟踪用户从最近列表中删除了应用程序的哪个活动,所以转到重点
第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 步:打开清单文件并将android:name="MyApplication"
到应用程序标签。
第 4 步:检查onActivityDestroyed
日志,您将知道被销毁的活动的名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.