我在 React Native Application 工作。我正在努力在 Android 中使用Notification Services& BIND_NOTIFICATION_LISTENER_SERVICE。我正在尝试使用NotificationListenerService.
我正在使用一加 5T (Android Oreo)进行调试。
我见过很多重复的问题,我尝试了从这些问题中得到的以下解决方案。
1.重启手机(听起来很傻,但不起作用)
2.重新安装/重新构建应用程序
- 重命名 NotificationListenerService 类文件并运行等..
我一直面临的问题,
1.在“通知访问”设置中看不到我的应用程序。
2.onCreate / onNotificationPosted 当我收到任何通知时不会被调用
3.使用下面的代码检查我的应用程序是否具有通知权限,它返回“false”(显然,这是我的问题)
ComponentName cn = new ComponentName(getReactApplicationContext(), NotificationListener.class);
String flat = Settings.Secure.getString(getReactApplicationContext()
.getContentResolver(), "enabled_notification_listeners");
final boolean hasPermission = flat != null && flat.contains(cn.flattenToString());
// hasPermission - false
Run Code Online (Sandbox Code Playgroud)
由于BIND_NOTIFICATION_LISTENER_SERVICE未列出Dangerous permissions列表,我认为在 Manifest 中定义它(下面给出了源供您参考)就足够了,而不是询问运行时许可。
我遵循了本教程并参考了其他教程。我不知道我哪里做错了。一切看起来都很完美。思索了一整天之后,我想我会请求你的帮助。
在下面找到我的源代码。
我的来源
AndroidManifest.xml
<service
android:name=".NotificationListener"
android:label="@string/app_name"
android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
<intent-filter> …Run Code Online (Sandbox Code Playgroud)