该服务创建持久性Notification并启动click via上的主要活动PendingIntent.这是代码.
Intent notificationIntent = new Intent(getApplicationContext(), ViewPagerActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(StreamingService.this, 0, notificationIntent, 0);
Run Code Online (Sandbox Code Playgroud)
但是,如果在我按下通知时启动主要活动,它将再次启动,并再次启动...
最后,我有相同的活动,一个在另一个的顶部.我可以通过按下后退按钮来看到这一点,这将杀死主要活动一次,然后让我回到相同的活动,直到我关闭最后一个.
我怎样才能防止这种情况发生?可以PendingIntent检测到瞄准活动正在运行,因此它不会再次创建相同的活动,而是启动正在运行的活动吗?
PS.如果不能解释这个问题我会道歉.如果是这种情况,请告诉我,我会重新解释这个问题.
我也找到了这个解决方案.将此属性添加到Manifest
<activity android:name=".MyActivity"
android:label="@string/app_name"
android:launchMode="singleTop" // <-- THIS LINE
>
Run Code Online (Sandbox Code Playgroud)
对于每个人Activity你需要这个功能.到目前为止,它完全没有错误.
哪种解决方案更好?如果没有,我的更容易.
根据您要实现的确切行为,您可以将其中一个标志作为getActivity()的最后一个参数传递:
| 归档时间: |
|
| 查看次数: |
5600 次 |
| 最近记录: |