从背景重新打开应用程序

时间:2014-04-30 22:04:43

标签: android android-intent

当用户按“主页按钮”时,我的应用程序转到后台,但仍在运行。我需要再把我的应用程序带到前面。例如,我有这段代码:

Context ctx=getApplicationContext();
Intent i =ctx.getPackageManager().getLaunchIntentForPackage("com.example.test");      
ctx.startActivity(i);

但是这段代码是在不同的活动中打开应用程序,有一种方法或者某些东西可以“正确”地执行此操作吗?

2 个答案:

答案 0 :(得分:1)

您可以模拟"启动"应用程序与用户从可用应用程序列表中选择应用程序时启动应用程序的方式相同。如果用户启动已在运行的应用程序,Android只会将现有任务带到前台(这就是您想要的)。这样做:

Intent intent = new Intent(context, SplashScreen.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // You need this if starting
                                                // the activity from a service
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(intent);

(资料来源:https://stackoverflow.com/a/12075313/3529926

答案 1 :(得分:0)

您可以将此标记设置为您的意图

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);

并将您的活动的启动模式设置为清单中的单个任务(添加这是您的活动标记):

android:launchMode="singleTask"