我在android上实现了一些信号应用。它工作正常。但我想通过网络向所有使用自定义数据的用户发送通知,我希望用户在条形图上看不到任何通知。当然,当notificatin出现时,我会在后台做点什么。
我该怎么做?
提前致谢
OneSignal.startInit(this)
.setNotificationReceivedHandler(new NotificationReceivedHandler())
.setNotificationOpenedHandler(new NotificationOpenedHandler())
.init();
OneSignal.setSubscription(true);
我在这里做点什么
class NotificationReceivedHandler implements OneSignal.NotificationReceivedHandler {
@Override
public void notificationReceived(OSNotification notification) {
JSONObject data = notification.payload.additionalData;
String customKey;
if (data != null) {
customKey = data.optString("custom", null);
if (customKey != null)
{
//I do sth here
}
}
}
}
答案 0 :(得分:3)
您可以使用下面的代码段进行检查吗?
class NotificationReceivedHandler implements OneSignal.NotificationReceivedHandler {
@Override
public void notificationReceived(OSNotification notification) {
JSONObject data = notification.payload.additionalData;
String customKey;
if (data != null) {
customKey = data.optString("custom", null);
if (customKey != null)
{
//I do sth here
NotificationManager nMgr = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
nMgr.cancelAll();
}
}
}
}
如果仍然遇到问题发布问题:https://github.com/OneSignal/OneSignal-Android-SDK/issues
答案 1 :(得分:1)
在您的Activity的onBackPressed()metod
上调用此metodpublic void cancelNotification() {
String ns = NOTIFICATION_SERVICE;
NotificationManager nMgr = (NotificationManager) YourActivity.this.getSystemService(ns);
nMgr.cancel(1);
}