Android:从以前的位置恢复应用程序

时间:2012-09-06 15:40:59

标签: android android-intent

如何从以前的位置恢复我的应用程序。

请注意,它仍处于活动状态,只是暂停了。因此,如果我单击androids当前应用程序按钮或应用程序图标,它将恢复正常。

但我是谁从我的小部件中做到这一点..

我有以下内容:

// Create an Intent to launch Activity
Intent intent = new Intent(context, LoginForm.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);

这显然启动了LoginForm,而不仅仅是恢复应用程序。

有谁知道怎么做?

编辑:

只是为了澄清,我不想要任何特别的东西。我基本上想模仿按下android图标启动器。

2 个答案:

答案 0 :(得分:16)

你基本上回答了自己的问题; - )

只需模拟启动应用时Android的功能:

Intent intent = new Intent(context, LoginForm.class);
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);

或者您可以尝试这一点(假设LoginForm是您的应用程序的根活动,并且该活动的实例仍然在任务堆栈中处于活动状态):

Intent intent = new Intent(context, LoginForm.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);

设置FLAG_ACTIVITY_NEW_TASK 应该只需将应用程序的外部任务从后台传递到前台,而无需实际创建活动实例。先试试这个。如果它对您不起作用,请执行另一个。

答案 1 :(得分:0)

使用它与android为你的启动器活动做的一样

Intent notificationIntent = new Intent(context, SplashActivity.class);
        notificationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
        notificationIntent.setAction(Intent.ACTION_MAIN);
        notificationIntent.addCategory(Intent.CATEGORY_LAUNCHER);
        PendingIntent clickActionIntent = PendingIntent.getService(context, 0, notificationIntent, 0);