从后台打开android应用程序

时间:2017-03-21 05:56:03

标签: android

每当我的android应用程序进入后台时,我总是希望每次应用程序来自后台时都打开我的密码活动,如何在我的代码中实现此功能?

1 个答案:

答案 0 :(得分:0)

请按以下步骤操作:

  1. 添加新班级全球

    public class Global extends Application
    {
    
    private static Global mInstance;
    
    @Override
    public void onCreate() {
        super.onCreate();
    
        mInstance = this;
    
        ApplicationLifeCycleHandler handler = new ApplicationLifeCycleHandler();
        registerActivityLifecycleCallbacks(handler);
        registerComponentCallbacks(handler);
    }
    
    
    public static Global getInstance(){
        return mInstance;
    }
    }
    
  2. 在您的清单中添加此行,例如

      <application
            android:name=".Global"
      </application>
    
  3. 添加此课程并在应用程序背景到前景时打开密码意图,如

      public class ApplicationLifeCycleHandler implements Application.ActivityLifecycleCallbacks, ComponentCallbacks2 {
    
    public static Activity activity;
    
    private static final String TAG = ApplicationLifeCycleHandler.class.getSimpleName();
    public static boolean isInBackground = true;
    
    @Override
    public void onActivityCreated(Activity activity, Bundle bundle) {
    }
    
    @Override
    public void onActivityStarted(Activity activity) {
        this.activity = activity;
    }
    
    @Override
    public void onActivityResumed(Activity activity) {
        this.activity = activity;
    
        if (isInBackground) {
    
            Intent intent = new Intent(activity, PasswordActivity.class);//set your password activity 
            activity.startActivity(intent);
    
            Log.d(TAG, "app went to foreground");
            isInBackground = false;
        }
    }
    
    @Override
    public void onActivityPaused(Activity activity) {
    }
    
    @Override
    public void onActivityStopped(Activity activity) {
    }
    
    @Override
    public void onActivitySaveInstanceState(Activity activity, Bundle bundle) {
    }
    
    @Override
    public void onActivityDestroyed(Activity activity) {
    }
    
    @Override
    public void onConfigurationChanged(Configuration configuration) {
    }
    
    @Override
    public void onLowMemory() {
    }
    
    @Override
    public void onTrimMemory(int i) {
        if (i == ComponentCallbacks2.TRIM_MEMORY_UI_HIDDEN) {
            Log.d(TAG, "app went to background");
            isInBackground = true;
    
        }
    }
    }
    
  4. 希望它会对您有所帮助,如果您遇到任何问题,请告诉我。感谢