Java 无法在Android中实例化类型NotificationListenerService

Java 无法在Android中实例化类型NotificationListenerService,java,android,Java,Android,我正在尝试从类访问getActiveNotifications(), 但是它不起作用,我尝试了以下方法: 1) 2) 但是对于1)我得到了这个错误: The method getActiveNotifications() is undefined for the type Class<NotificationListenerService> 无法实例化类型NotificationListenerService 对于2)我得到了这个错误: The method getActiveNo

我正在尝试从类访问
getActiveNotifications()
, 但是它不起作用,我尝试了以下方法:

1)

2)

但是对于1)我得到了这个错误:

The method getActiveNotifications() is undefined for the type Class<NotificationListenerService>
无法实例化类型NotificationListenerService

对于2)我得到了这个错误:

The method getActiveNotifications() is undefined for the type Class<NotificationListenerService>
类型类的getActiveNotifications()方法未定义
这似乎是简单的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>
使用以下代码将用户发送到通知侦听器设置:

startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));
然后,在您的服务中,您可以调用此命令以获得活动通知列表:

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

要使用
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>
使用以下代码将用户发送到通知侦听器设置:

startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));
然后,在您的服务中,您可以调用此命令以获得活动通知列表:

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

这些错误是在哪个api级别出现的?@Olayinka我在我的清单中使用此方法:getActiveNotification()方法是在api 18中引入的,这些错误是在哪个api级别出现的?@Olayinka我在我的清单中使用此方法:getActiveNotification()方法是在api 18中引入的,我已经这样做了,但问题是,我想从这个类发送活动通知,将NLS扩展到我的另一个服务,该服务将为我完成这项工作。但是,我遇到了一些有关文件描述符的问题(请参阅链接)。因此,我试图直接从将为我执行此工作的类中获取getActiveNotifications()返回的StatusBarNotification[],这样我就不必通过Intent发送它。为什么要从其他服务执行此操作,您不能在第一个服务中直接执行您的进程吗?我不能停止使用stopSelf()扩展NotificationListenerService的服务,因此有许多进程从未被破坏,它们使用的RAM甚至比没有这些额外进程时使用的RAM还要多。我解决了这个问题,谢谢你的帮助。如果不扩展NLS,就没有办法访问getActiveNotifications()方法吗?@REG1我想你的两个问题都得到了回答。将答案标记为正确答案,如果您还有更多问题,请提出新问题;)我已经这样做了,但问题是我想从这个类发送活动通知,它将NLS扩展到我的另一个服务,该服务将为我完成这项工作。但是,我遇到了一些有关文件描述符的问题(请参阅链接)。因此,我试图直接从将为我执行此工作的类中获取getActiveNotifications()返回的StatusBarNotification[],这样我就不必通过Intent发送它。为什么要从其他服务执行此操作,您不能在第一个服务中直接执行您的进程吗?我不能停止使用stopSelf()扩展NotificationListenerService的服务,因此有许多进程从未被破坏,它们使用的RAM甚至比没有这些额外进程时使用的RAM还要多。我解决了这个问题,谢谢你的帮助。如果不扩展NLS,就没有办法访问getActiveNotifications()方法吗?@REG1我想你的两个问题都得到了回答。将答案标记为正确答案,如果您还有更多问题,请提出新问题;)