停止 OneSignal 通知在状态栏中显示

3

我已经实现了OneSignal并成功地向我的安卓应用发送了通知,但是我想根据推送通知中接收到的附加数据丢弃一些通知。在状态栏显示之前如何丢弃通知。

1个回答

4
要做到这一点,需要创建一个扩展NotificationExtenderService的类,
在此类中,
import com.onesignal.OSNotificationPayload;
import com.onesignal.NotificationExtenderService;

public class NotificationExtenderBareBonesExample extends NotificationExtenderService {
   @Override
   protected boolean onNotificationProcessing(OSNotificationPayload notification) {
      // Read any properties you need from notification.
      // Return true if you want to keep a notification from displaying else return false if you dont want to display notification.
      return false;
   }
}

同时,在面板发送通知时,请勾选“后台数据”复选框。

并且编辑您的清单文件以包含以下内容:

<service
   android:name=".YOUR_CLASS_NAME"
   android:exported="false">
   <intent-filter>
      <action android:name="com.onesignal.NotificationExtender" />
   </intent-filter>
</service>

我已经实现了这个类,并且返回false也会在状态栏上显示通知。 - Ved
你正在使用哪个SDK版本? - Vishnu Prasad
3
onNotificationProcessing中返回true以将通知计算为已处理,这时它将不再显示。您不再需要设置后台数据选项,因为该选项适用于早期未记录和弃用的方法。建议尽可能使用最新的2.5.0 SDK版本。 - jkasten
@jkasten 我正在使用文档中提供的compile 'com.onesignal:OneSignal:2.+@aar'来添加 OneSignal 依赖项,它正在下载并使用 2.4.3 SDK。 - Ved
返回 true 以停止通知的显示。 - Soheil Setayeshi
显示剩余6条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接