NotificationListenerService为Oreo间歇性工作

时间:2018-08-01 09:14:39

标签: android android-8.0-oreo

我上课

public class NotifClass extends  NotificationListenerService{
@Override
    public IBinder onBind(Intent intent) {
        return super.onBind(intent);
    }

@Override
    public void onNotificationPosted(StatusBarNotification sbn){
String notifiTitle = getActiveNotifications()[i].getNotification().extras.getString("android.title");
}
}

我在处设置了一个断点

String notificationTitle = getActiveNotifications()[i].getNotification().extras.getString("android.title");

内部onNotificationPosted(StatusBarNotification sbn)方法。

这是一个回调方法,当设备收到任何通知时将调用该方法。 在Android Nougat上运行时,它的工作原理非常好。 但是它在Android Oreo中间歇性地命中。有时会命中,有时却不会。

我不确定真正的问题及其解决方案,但是当我遇到服务问题时,可以使用JobScheduler阅读activeNotifications吗? 我正在使用API​​ 26

1 个答案:

答案 0 :(得分:0)

我已经在这个问题上研究了很长时间了。当我通过Google Nexus /像素设备或模拟器运行它时,该服务会间歇性地工作。 我尝试在Honor上运行它,而Samsung S9和NotificationListenerService在此方面运行良好。 因此我得出结论,问题出在Google设备上,而不是服务上。

请注意,如果设备运行在低RAM上,则NotificationListenerService很有可能会停止工作。