1. 程式人生 > 其它 >跳轉 AccessibilityService 設定頁面

跳轉 AccessibilityService 設定頁面

技術標籤:AccessibilityService

引導使用者開啟 AccessibilityService 許可權,跳轉到無障礙設定頁面高亮顯示自己的 Service item:


val EXTRA_FRAGMENT_ARG_KEY = ":settings:fragment_args_key";
val EXTRA_SHOW_FRAGMENT_ARGUMENTS = ":settings:show_fragment_args";


startActivity(Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS).apply {
    val bundle = Bundle()
    val componentName = ComponentName(BuildConfig.APPLICATION_ID, AccessibilityServiceName::class.java.name).flattenToString()
    bundle.putString(EXTRA_FRAGMENT_ARG_KEY, componentName)
    putExtra(EXTRA_FRAGMENT_ARG_KEY, componentName)
    putExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS, bundle)
})

設定完成後返回自己的 Activity :

context?.registerReceiver(returnReceiver,IntentFilter("accessibility_start"))
    

private val returnReceiver = object: BroadcastReceiver() {
    override fun onReceive(context: Context?, intent: Intent) {
        context?.unregisterReceiverOpt(this)
        try {
            startActivity(Intent(context, SettingsActivity::class.java).apply {
                flags = Intent.FLAG_ACTIVITY_REORDER_TO_FRONT
            })
        }catch (e: RuntimeException){
        }
    }
}