Android 12、Kotlin:当显示 ACESSIBLITY INTENT 时,为什么我的应用程序未在 ACESSIBILITY 下列为已安装的应用程序?

问题描述 投票:0回答:1

我正在编写一个需要辅助服务权限的应用程序。因此,我有以下代码,可以在应用程序启动后立即显示 ACCESSIBILITY 意图。在“可访问性意图”->“已安装的应用程序”下,我注意到我的应用程序未列出。为什么以及如何让我的应用程序列在“可访问性”安装的应用程序下。因此,我可以为我的应用程序启用访问权限。

这是AndroidManifest.xml中的权限:

<uses-permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE"/>

这是MainActivity.kt中的代码

    if (!isAccessibilityServiceEnable(applicationContext)) {
        val accessibleIntent = Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS) 
        startActivity(accessibleIntent)
    }

    private fun isAccessibilityServiceEnable(context: Context): Boolean { 
            val accessibilityManager = (context.getSystemService(ACCESSIBILITY_SERVICE) as AccessibilityManager)
            val accessibilityServices = accessibilityManager.getEnabledAccessibilityServiceList(AccessibilityServiceInfo.FEEDBACK_ALL_MASK)
        for (info in accessibilityServices) {
            if (info.id.contains(context.packageName)) {
                return true
            }
       }
       return false
    }

这是 Intent 的图像,看一下红色箭头:

enter image description here

android kotlin android-intent permissions accessibility
1个回答
0
投票

据我在辅助服务文档中所知,您需要在服务中获得该权限,而不是作为独立的

uses-permission

  <application>
    <service android:name=".MyAccessibilityService"
        android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
        android:label="@string/accessibility_service_label">
      <intent-filter>
        <action android:name="android.accessibilityservice.AccessibilityService" />
      </intent-filter>
    </service>
  </application>
© www.soinside.com 2019 - 2024. All rights reserved.