是否可以在android中以编程方式跟踪推送通知?
我的意思是说是否可以通过某些事件或服务跟踪通知栏中显示的通知?
我尝试过使用AccessibilityService,但我无法使用TYPE_NOTIFICATION_STATUS_CHANGED事件跟踪它。
答案 0 :(得分:2)
可以使用API 18中的NotificationListenerService来完成此操作。
一个工作示例:
服务:
public class Test extends NotificationListenerService {
@Override
public void onNotificationRemoved(StatusBarNotification sbn) {
super.onNotificationRemoved(sbn);
//do your job
}
@Override
public void onNotificationPosted(StatusBarNotification sbn) {
super.onNotificationPosted(sbn);
//do your job
}
}
清单:
<service android:name=".Test"
android:label="Test"
android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
<intent-filter>
<action android:name="android.service.notification.NotificationListenerService" />
</intent-filter>
</service>
要完成这项工作,您必须启用可通过设置链接完成的服务:
Intent i=new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS");
startActivity(i);