我上课
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
答案 0 :(得分:0)
我已经在这个问题上研究了很长时间了。当我通过Google Nexus /像素设备或模拟器运行它时,该服务会间歇性地工作。
我尝试在Honor上运行它,而Samsung S9和NotificationListenerService
在此方面运行良好。
因此我得出结论,问题出在Google设备上,而不是服务上。
请注意,如果设备运行在低RAM上,则NotificationListenerService
很有可能会停止工作。