【问题标题】:How to Enable Accessibility Setting for my application as soon as the application is launched如何在应用程序启动后立即为我的应用程序启用辅助功能设置
【发布时间】:2015-08-14 12:32:51
【问题描述】:

我正在尝试在应用程序启动后立即为我的应用程序启用辅助功能设置。但我目前无法做到。我使用了以下代码:

 Settings.Secure.putString(getContentResolver(), 
                           Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES, 
                           "package_name");
 Settings.Secure.putString(getContentResolver(), 
                           Settings.Secure.ACCESSIBILITY_ENABLED, 
                           "1");

要使用此代码 sn-p 我们必须声明以下权限:

WRITE_SECURE_SETTINGS,但此权限仅适用于系统应用程序。如何为我的应用程序实现相同的功能。欢迎所有建议。

【问题讨论】:

    标签: android android-permissions accessibilityservice


    【解决方案1】:

    API 说:Settings.Secure

    对于用户必须通过 系统 UI 或这些值的专用 API,未直接修改 按应用程序。

    如果您想以编程方式检查以提示用户,另请参阅android-how-do-you-check-if-a-particular-accessibilityservice-is-enabled。例如在how-to-programmatically-enable-disable-accessibility-service-in-android 中给出了调用意图的代码,它是

    Intent intent = new Intent(android.provider.Settings.ACTION_ACCESSIBILITY_SETTINGS);
    startActivityForResult(intent, 0);
    

    【讨论】:

      【解决方案2】:

      我怎样才能为可能的应用程序实现相同的功能

      出于明显的隐私和安全原因,您不能这样做。 AccessibilityService 可以广泛访问用户对设备用户界面所做的操作,因此,用户必须同意通过“设置”应用将其作为单独的操作启用。

      【讨论】:

      • 好的。一旦用户启用它,我可以屏蔽它以防止再次禁用它吗?有可能吗?
      • @Keshav1234:“我可以屏蔽它以防止再次禁用它吗?” -- 希望不是,出于同样令人眼花缭乱的隐私和安全原因。
      • 好的。非常感谢commonsware。我还有一个疑问,在 Android M 中他们已经删除了读写书签,是否有替代方案?
      • 是的,他们有。请参阅以下链接,它显示已删除书签和订阅的 Feed 权限。 developer.android.com/preview/support.html.
      • @Keshav1234:啊,我在 MNC v2 发行说明中错过了这一点。感谢您指出!
      猜你喜欢
      • 1970-01-01
      • 2014-04-18
      • 2018-02-09
      • 2015-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多