gpt4 book ai didi

java - 无法在Android中实例化类型NotificationListenerService

转载 作者:行者123 更新时间:2023-12-01 18:27:43 27 4
gpt4 key购买 nike

我正在尝试从 NotificationListenerService 访问 getActiveNotifications()类(class),但它不起作用,我已经尝试过这些方法:

1)

    NotificationListenerService nls = new NotificationListenerService();
activeNotifications = nls.getActiveNotifications();

2)

    activeNotifications = NotificationListener.class.getActiveNotifications();

但是对于 1) 我收到此错误:

Cannot instantiate the type NotificationListenerService

对于 2) 我收到此错误:

The method getActiveNotifications() is undefined for the type Class<NotificationListenerService>

这似乎是简单的Java,但我无法让它工作,我做错了什么?非常感谢任何帮助,谢谢。

最佳答案

要使用 NotificationListenerService,您需要创建一个从 NotificationListenerService 扩展的自定义类。
您无法实例化它,系统会为您完成。

将此添加到您的 AndroidManifest.xml:

    <service android:name="your.package.name.MyNLS"
android:debuggable="true"
android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" >
<intent-filter>
<action android:name="android.service.notification.NotificationListenerService" />
</intent-filter>
</service>

创建一个NotificationListenerService类:

public class MyNLS extends NotificationListenerService {

@Override
public void onCreate() {
super.onCreate();
}

@Override
public void onNotificationPosted(StatusBarNotification sbn) {

}

@Override
public void onNotificationRemoved(StatusBarNotification sbn) {

}

}

使用此代码将用户发送到通知监听器设置:

startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));

然后,在您的服务中,您可以调用它来获取 Activity 通知列表:

for (StatusBarNotification sbn : getActiveNotifications()) {
/// do something
}

关于java - 无法在Android中实例化类型NotificationListenerService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25470997/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com