Android 在Onesignal NotificationExtender服务中将挂起的意图设置为Builder不会';不被发现
当应用程序被终止时,我想在通知点击时调用Webview_活动,因此在NotificationExtender服务中,我使用setContentIntent()方法将挂起的意图附加到生成器中,但点击通知时不会发生任何事 当应用程序处于活动状态时,会成功调用Webview_活动,这是由notificationOpened()处理的,但当应用程序被终止时,会调用onNotificationProcessing(),但在收到通知时,不会调用Webview_活动 我还了解到Onesignal在连接到构建器时未检测到setContentIntent(),以下是链接: 附近有路吗?当应用程序被终止时,如何使用NotificationExtender服务的onNotificationProcessing()调用通知点击时的活动Android 在Onesignal NotificationExtender服务中将挂起的意图设置为Builder不会';不被发现,android,android-pendingintent,onesignal,Android,Android Pendingintent,Onesignal,当应用程序被终止时,我想在通知点击时调用Webview_活动,因此在NotificationExtender服务中,我使用setContentIntent()方法将挂起的意图附加到生成器中,但点击通知时不会发生任何事 当应用程序处于活动状态时,会成功调用Webview_活动,这是由notificationOpened()处理的,但当应用程序被终止时,会调用onNotificationProcessing(),但在收到通知时,不会调用Webview_活动 我还了解到Onesignal在连接到构建器
@Override
protected boolean onNotificationProcessing(final OSNotificationReceivedResult notification) {
Log.d(TAG, "onNotificationProcessing");
final NotificationCompat.Builder[] newbuilder = new NotificationCompat.Builder[1];
OverrideSettings overrideSettings = new OverrideSettings();
overrideSettings.extender = new NotificationCompat.Extender() {
@Override
public NotificationCompat.Builder extend(NotificationCompat.Builder builder) {
// Sets the background notification color to Green on Android 5.0+ devices.
newbuilder[0] = builder;
Intent intent = new Intent();
try {
JSONObject data = notification.payload.additionalData;
if (data != null) {
String url = data.optString("url", null);
if (url != null) {
if (getApplicationContext() != null) {
Log.d(TAG, "context is not null");
intent = new Intent(getApplicationContext(), Webview_activity.class);
intent.putExtra("url", url);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
} else {
Log.d(TAG, "context is null");
}
}
}
**PendingIntent pendIntent = PendingIntent.getActivity(getApplicationContext(), 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
newbuilder[0] = builder.setContentIntent(pendIntent);**
} catch (Exception e) {
e.printStackTrace();
}
return newbuilder[0];
}
};
overrideSettings.extender.extend(newbuilder[0]);
OSNotificationDisplayedResult displayedResult = displayNotification(overrideSettings);
Log.d("OneSignalExample", "Notification displayed with id: " + displayedResult.androidNotificationId);
return true;
}
@Override
public void notificationOpened(OSNotificationOpenResult result)
{
Log.d(TAG,"notificationOpened");
try {
JSONObject data = result.notification.payload.additionalData;
if (data != null) {
String url = data.optString("url", null);
if (url != null) {
if (context!=null)
{
Log.d(TAG,"context is not null");
Intent intent = new Intent(context, Webview_activity.class);
intent.putExtra("url", url);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}else {
Log.d(TAG,"context is null");
}
}
}
}catch (Exception e)
{
e.printStackTrace();
}
}