我想在计时器运行时显示通知,当用户点击通知时,它会打开计时器活动。
mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
Intent intent = new Intent(this, Activity.class).addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
现在的问题是,当我启动计时器并按下主页然后单击通知时,它会使用正在运行的计时器打开活动。
但是当我启动计时器,然后打开另一个活动(通过ActionBar.NAVIGATION_MODE_LIST
),然后按回家并点击通知它打开一个新的活动(空)。
我认为addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
会有所帮助(这就是我以前在活动之间导航的方式)
即时使用android:launchMode="singleTop"
和android:configChanges="orientation|screenSize"
。
答案 0 :(得分:0)
我不会依赖你的活动持久而且没必要
将计时器开始时间存储到共享首选项中,然后只需加载重新创建活动时的开始时间。
如果事情发生在一定时间后,如倒计时时间,那么你需要设置一个警报并以这种方式处理。
请记住,活动只是用户界面。当用户没有看到它时,不要相信某个活动正在做任何事情。