单击通知后转到活动而不启动它

时间:2017-03-29 09:16:31

标签: android android-activity android-notifications

按照通知https://developer.android.com/guide/topics/ui/notifiers/notifications.html上的Android教程,我可以显示通知。 在文章中没有解释的我想要的是如何在不启动它的情况下进入活动。 事实上,我有一个带有几个活动的应用程序。一旦我输入其中一个活动,就会显示一个永久通知,只有在用户离开该活动时才会消失。 如果用户在我的应用程序不在屏幕上时单击通知,我希望恢复活动而不重新启动它。该活动运行一个柜台。这就是为什么它不应该重新启动。

祝你好运

2 个答案:

答案 0 :(得分:0)

  

我希望在不重新启动活动的情况下恢复活动。该活动运行一个柜台。这就是为什么它不应该重新启动。

嗯,你必须在onPause()方法中保存计数器状态,并在onResume()方法期间恢复它。

  

如何保存状态?

您可以将计数器值保存到SharedPreferences。这将为你带来魔力。干杯:)

答案 1 :(得分:0)

这就是我设法解决问题的方法。 在该活动的manifest.xml文件集<a href="http://stackoverflow.com">hello</a> 中。然后按如下方式构建通知:

android:launchMode="singleTop"

我还没有使用NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context) .setSmallIcon(R.drawable.ic_directions_run_white_24dp).setContentTitle("My " + "notification").setContentText("Hello World!"); // Creates an explicit intent for an Activity in your app Intent resultIntent = new Intent(context, PlayActivity.class); resultIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); PendingIntent resultPendingIntent = PendingIntent.getActivity(context, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT); mBuilder.setContentIntent(resultPendingIntent); NotificationManager notificationManager = (NotificationManager) context.getSystemService (Context.NOTIFICATION_SERVICE); // mId allows you to update the notification later on. notificationManager.notify(NOTIFICATION_ID, mBuilder.build()); ,因为检索计数器值并重新启动活动的整个过程可能会使计数器保留一段时间,这可能会使其失去准确性。