【问题标题】:startActivityForResult for Notification Listener通知侦听器的 startActivityForResult
【发布时间】:2017-04-27 07:55:12
【问题描述】:

是否可以从通知侦听器设置屏幕获取结果?

目前,我的项目正在使用

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

我尝试使用 startActivityForResult,但无法为我指定的 requestCode 获得 RESULT_OK resultCode。

我想知道我的应用是否获得了通知访问权限(当我返回应用中的活动时,切换按钮是打开还是关闭)

【问题讨论】:

    标签: android start-activity startactivityforresult notification-listener


    【解决方案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 给出的答案/回复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-10
    • 2020-10-24
    • 1970-01-01
    相关资源
    最近更新 更多