从后台打开android应用程序
答
请按照下列步骤操作:
-
添加新类全局
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; } }
-
在您的清单中的应用程序标记添加此行像
<application android:name=".Global" </application>
-
添加这个类和打开你的密码意图当应用程序来到背景前景如
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你试过了吗? –
inpause and onresume –
根据应用需求明确说明您需要 –
,每当应用进入后台时,不应该直接从后台打开活动,但首先打开启动器活动,然后打开从之前在后台进行的活动。\ –