2017-03-21 143 views
0

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

+1

inpause and onresume –

+0

根据应用需求明确说明您需要 –

+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; 
    
        } 
    } 
    } 
    

希望它会帮助你,请让我知道,如果你正面临的任何问题。谢谢

+0

好的,我会尽力让你知道。谢谢 –

+0

@HarshaKhobragade你试过了吗? –

相关问题