为什么我的NotificationListenerService不起作用?

RoD*_*oPo 4 service notifications android listener

我已经实现了NotificationListenerService,但它无法正常工作.这是服务:

public class NotificationListener extends NotificationListenerService {

@Override
public void onCreate() {
    Log.d("MYAPP", "Created");
}

@Override
public IBinder onBind(Intent intent) {
    return null;
}

@Override
public void onNotificationPosted(StatusBarNotification sbn) {
    Log.d("MYAPP", "Notification");
}

}
Run Code Online (Sandbox Code Playgroud)

我在我的清单文件中实现了这个:

<service android:name="com.rodrigopontes.whatsappbubbles.NotificationListener"
         android:label="Test"
         android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" >
    <intent-filter>
         <action android:name="android.service.notification.NotificationListenerService" />
    </intent-filter>
</service>
Run Code Online (Sandbox Code Playgroud)

这是我从MainActivity初始化它的方法:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_activity);
    startService(new Intent(this, NotificationListener.class));
}
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助!

use*_*234 7

经过多次浪费,我找到了答案.这是Android的一个问题,请看这里 欢迎使用Android :)


Sha*_*mal 7

我有同样的问题。事实证明,我的应用程序不允许接收通知,因为它没有权限。所以我通过以下方式启用了通知权限-

Intent intent=new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

上面的代码打开一个通知权限页面,然后选择您的应用程序并允许。