我是android开发的新手,我想做一个应用程序来监听出现在我设备上的新通知,但是当我使用下面的语句启用设置时,我在设置中没有得到我的应用程序名称。 我浏览了Android developers NotificationListenerService并添加了服务AndroidMainfest
。 我打开设置activity的意图如下:
Intent intent = new Intent("android.settings.NOTIFICATION_LISTENER_SETTINGS");
下面是我的NotificationListener类
public class NotificationListener extends NotificationListenerService {
private final String TAG = this.getClass().getSimpleName();
private final String Notification_Settings = "android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS";
@Override
public void onCreate() {
super.onCreate();
startActivity(new Intent(Notification_Settings));
}
@Override
public void onNotificationPosted(StatusBarNotification sbn) {
Bundle extras = sbn.getNotification().extras;
String title = extras.getString("android.title");
String text = extras.getCharSequence("android.text").toString();
Log.i(TAG, title + " " + text);
}
@Override
public IBinder onBind(Intent i) {
return super.onBind(i);
}
}
最后,我调用主activity中的服务
Intent i = new Intent(getApplicationContext(), NotificationListener.class);
startService(i);
我不知道我错过了什么。 请帮帮我。 谢谢!
编辑:
AndroidManifest
中的服务:
<service android:name=".NotificationListener"
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>
正如@Pawel指出的,我检查了舱单,注意到
android:permission="android.permission.BIND_NOTIFICATION_lISTENER_SERVICE">
^
是一个小的。