Android 4.1为用户提供了一个复选框,用于禁用特定应用程序的通知.
但是,作为开发人员,我们无法知道对通知的调用是否有效.
我真的需要检查当前应用程序是否禁用了通知,但我在API中找不到任何设置.
有没有办法在代码中检查此设置?
我正在使用> = 4.3 NotificationListenerService来访问通知.在第一次启动时,我的应用程序将用户带到"访问通知"系统面板,但是只要禁用"访问通知"中我的应用程序的复选框,我就会将用户带到那里.我没有在isNotificationAccessEnabled()任何地方找到一个方法,但我肯定知道这是可能的,因为像Krome这样的应用程序也是这样做的.
在我们的 Android 应用程序(使用 SDK23 编译)中,应用程序安装后“推送通知”设置默认为“开启”。但是当然用户可以手动将其“关闭”。
2 问题:
从应用程序内部,使用 Android API,是否有可能(简而言之,如何?):
检查“推送通知”设置的当前状态(开或关)?
类似于如果 GPS 为“关闭”我们可以将用户重定向到 GPS 设备设置,如果设置为“关闭”,我们是否也可以将用户重定向到“推送通知设置”,以便用户可以,如果他愿意,将其重新“打开”?
令我们惊讶的是(也许我们错了?因此我们在这里寻求您的意见/确认)似乎上面的“1”或“2”都不可能????
如果我们错了,并且有可能我们会欣赏一个简短的“如何,简而言之”来实现这一目标。
感谢您的输入!
我想实现一个NotificationListenerService来访问发布到通知栏的所有通知.
我知道我需要通过此调用启用对设置中的通知的访问:
startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));
Run Code Online (Sandbox Code Playgroud)
有没有办法检查用户是否激活了我的应用程序的通知访问权限?
有没有办法检查Android中是否以编程方式启用或禁用了以下设置?
Settings > Security > Device Administration > Notification Access > My App
Run Code Online (Sandbox Code Playgroud)
目前我正在通过以下方法从我的应用程序调用设置对话框,但如果设置已经启用,那么我不想提供此设置.
Intent intent = new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud) 我想检查 ios 和 android 的推送通知权限。我想看看用户是否从他的设备设置中关闭了推送通知权限。如果需要以本机编码,是否有任何插件或任何代码我可以参考。