我有一个在后台运行的应用程序,并通过通知系统显示错误消息.此通知具有pendingIntent,可以返回应用程序的主屏幕.在这个主屏幕上,我设置了launchmode ="singleTask".正如我从Android开发指南中理解的那样,这应该意味着我的主要活动将只有一个实例.
但是,如果用户当时正在查看该活动(或应用程序中的另一个活动),然后触摸通知以清除它,它会继续并将活动的另一个副本放在堆栈上,所以如果我点击了后退按钮,它将再次返回主屏幕(从主屏幕).
为什么要这样做?
Sco*_*ler 19
你几乎在问题中回答了你自己的问题;)
尝试使用:
android:launchMode="singleInstance"
Run Code Online (Sandbox Code Playgroud)
但是要注意,如果你正在做像startActivityForResult这样的任何事情 - 你永远不会收到结果!
更新:
如果要使用onNewIntent接收新的intent数据:
public void onNewIntent(Intent intent)
{
super.onNewIntent(intent);
setIntent(intent);
}
Run Code Online (Sandbox Code Playgroud)
当您将getIntent()用于传递给onNewIntent的新intent时,这将改变应用程序返回的意图.
| 归档时间: |
|
| 查看次数: |
17025 次 |
| 最近记录: |