如何从以前的位置恢复我的应用程序。
请注意,它仍处于活动状态,只是暂停了。因此,如果我单击androids当前应用程序按钮或应用程序图标,它将恢复正常。
但我是谁从我的小部件中做到这一点..
我有以下内容:
// Create an Intent to launch Activity
Intent intent = new Intent(context, LoginForm.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
这显然启动了LoginForm,而不仅仅是恢复应用程序。
有谁知道怎么做?
编辑:
只是为了澄清,我不想要任何特别的东西。我基本上想模仿按下android图标启动器。
答案 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);