我在网上搜索了答案,但我得到的只是单击 A 的通知时如何在应用程序 A 中启动活动。问题是,要启动 B 的活动,我需要 B 的 Context 将其传递给 PendingIntent 以通知 A,但我无法在 A 中获取 B 的 Context。
有没有办法这样做,或者我应该做其他事情来启动应用程序 B,而不是使用 PendingIntent.getActivity() 方法?
我在网上搜索了答案,但我得到的只是单击 A 的通知时如何在应用程序 A 中启动活动。问题是,要启动 B 的活动,我需要 B 的 Context 将其传递给 PendingIntent 以通知 A,但我无法在 A 中获取 B 的 Context。
有没有办法这样做,或者我应该做其他事情来启动应用程序 B,而不是使用 PendingIntent.getActivity() 方法?
您不需要将 B 的上下文传递给待处理的意图,只需一个指向第二个活动的意图。
如果由于某种奇怪的原因这不起作用(尽管它应该),你可以让你的通知触发 aBraodcastReceiver
并在那里开始活动,但就像我说的那样,这不应该是必需的。
Intent secondActivity = new Intent(context, SecondActivity.class);
PendingIntent notificationIntent = PendingIntent.getActivity(
context,
0, // or you can use some unique id
secondActivity,
PendingIntent.FLAG_UPDATE_CURRENT);