我使用OneSignal进行Android通知。我能够收到通知并在我自己的NotificationOpenedHandler()中启动一个活动:
String code = payload.additionalData.getString(Cons.KEY_CODE);
if(code.equalsIgnoreCase(Cons.NOTIFICATION_DETAIL_SCREEN)) {
Intent intent = new Intent(getApplicationContext(), DetailActivity.class);
startActivity(intent);
}
问题是如果我在另一个应用中点击通知,我的应用就不会被带到前面。虽然当我导航到我的应用程序时,我上面指定的活动已按预期启动。
我已经在我的清单中禁用了默认启动器:
<meta-data android:name="com.onesignal.NotificationOpened.DEFAULT" android:value="DISABLE" />
任何人都知道为什么我的应用程序没有被带到前面?
答案 0 :(得分:2)
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
getApplicationContext().startActivity(intent);
没有启动活动就不会得到解决答案 1 :(得分:0)
在开始活动之前,您需要将其置于您的意图中:
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);
然后开始活动。