2017-03-21 142 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你試過了嗎? –

相關問題