我正在尝试捕获Android 4.3中发布的通知
我遵循了这个例子:http://www.kpbird.com/2013/07/android-notificationlistenerservice.html并且无缝地工作。
如果我将NLService替换为下面的实现,我无法理解,只要我从“设置”中的“安全”授予权限,但我的类没有创建权限,就不会创建服务中的NLService类。
public class ListenerService extends NotificationListenerService {
private String TAG = this.getClass().getSimpleName();
@Override
public void onCreate() {
super.onCreate();
Log.i(TAG, "******** Service Created");
}
@Override
public void onNotificationPosted(StatusBarNotification sbn) {
}
@Override
public void onNotificationRemoved(StatusBarNotification sbn) {
}
}
使用Manifest.xml
<service
android:name=".ListenerService"
android:label="@string/app_name"
android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
<intent-filter>
<action android:name="android.service.notification.NotificationListenerService"/>
</intent-filter>
</service>
试着知道发生了什么,我像我的班级一样离开了NLService,所以它看起来像这样:
public class NLService extends NotificationListenerService {
private String TAG = this.getClass().getSimpleName();
@Override
public void onCreate() {
super.onCreate();
Log.i(TAG, "******** Service Created");
}
@Override
public void onNotificationPosted(StatusBarNotification sbn) {
}
@Override
public void onNotificationRemoved(StatusBarNotification sbn) {
}
}
使用Manifest.xml
<service
android:name=".NLService"
android:label="@string/app_name"
android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
<intent-filter>
<action android:name="android.service.notification.NotificationListenerService"/>
</intent-filter>
</service>
同样,NLService也可以,但ListenerService 不。
在我的最后一次尝试中,我将ListenerService重命名为NLListenerService,然后突然起作用,在启用复选框时打印“Service Created”。
有人可以解释一下这里发生了什么吗? :)