我遇到了一些问题,无法创建一个扩展
根据https://developer.android.com/reference/android/service/notification/NotificationListenerService.html的说明,我已经在清单文件中添加了以下内容:
我重写了
当我使用显式意图启动服务时,尽管我看到
你有什么想法为什么我没有得到
这是在Xperia Z1 compact上运行的Lollipop 5.1.1。
android.service.notification.NotificationListenerService
的服务。根据https://developer.android.com/reference/android/service/notification/NotificationListenerService.html的说明,我已经在清单文件中添加了以下内容:
<service android:name=".NotificationListener"
android:label="@string/service_name"
android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
<intent-filter>
<action android:name="android.service.notification.NotificationListenerService" />
</intent-filter>
</service>
我重写了
Service#onStartCommand
方法:@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.d(TAG, "Got onStartCommand");
return super.onStartCommand(intent, flags, startId);
}
并且 NotificationListenerService#onListenerConnected
:
@Override
public void onListenerConnected() {
Log.d(TAG, "Got onListenerConnected");
}
当我使用显式意图启动服务时,尽管我看到
onStartCommand
运行但没有看到onListenerConnected
。如果我尝试从onStartCommand
中运行requestInterruptionFilter(NotificationListenerService.INTERRUPTION_FILTER_NONE)
(这是我想要做的),我会收到W/NotificationListenerService[NotificationListener]: Notification listener service not yet bound.
的错误信息。你有什么想法为什么我没有得到
onListenerConnected()
(因此无法发送requestInterruptionFilter
)?这是在Xperia Z1 compact上运行的Lollipop 5.1.1。
<uses-permission android:name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"/>
,这不够吗?还有其他权限可以“允许用户监听通知”吗? - CharleyGC