通知侦听器的 startActivityForResult
Posted
技术标签:
【中文标题】通知侦听器的 startActivityForResult【英文标题】:startActivityForResult for Notification Listener 【发布时间】:2017-04-27 07:55:12 【问题描述】:是否可以从通知侦听器设置屏幕获取结果?
目前,我的项目正在使用
startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));
我尝试使用 startActivityForResult,但无法为我指定的 requestCode 获得 RESULT_OK resultCode。
我想知道我的应用是否获得了通知访问权限(当我返回应用中的活动时,切换按钮是打开还是关闭)
【问题讨论】:
【参考方案1】:在 onActivityResult 中,您可以通过执行以下操作获取启用的侦听器列表。
String listeners = Settings.Secure.getString(getContentResolver(),
"enabled_notification_listeners");
if (listeners != null)
CommonMethods.printLog("e",TAG,"Listeners are : " + listeners);
然后检查是否已授予访问权限。如果授予访问权限,您自己的侦听器将在此列表中。
我无法从通知侦听器设置屏幕获得 RESULT_OK 结果。
【讨论】:
嘿。这行得通!我仍然想知道是否有可能得到 RESULT_OK 的响应。不过我不能 +1 你的答案。 什么是"enabled_notification_listeners"
?【参考方案2】:
我尝试使用 startActivityForResult,但无法为我指定的 requestCode 获得 RESULT_OK resultCode。
很少有活动与startActivityForResult()
一起使用。 双方都必须实现对它的支持。除非某些文档(例如,关于 Intent
操作的文档)表明活动有一些输出,否则您应该假设 startActivityForResult()
不会产生有用的影响。
【讨论】:
谢谢!我想,但我不能 +1 给出的答案/回复。以上是关于通知侦听器的 startActivityForResult的主要内容,如果未能解决你的问题,请参考以下文章