首页 > 解决方案 > 如何通过 Android 中的 AccessibilityService 以编程方式禁用移动设备的最近按钮

问题描述

我正在尝试创建一个应用程序,因为我想禁用所有按钮。我已设法禁用 Home、Volume 和 Back 按钮,但无法禁用最近按钮。

我曾尝试使用辅助功能禁用“最近”按钮,但没有运气。

我是 Stack 的新手,所以如果我在提问时犯了任何错误,请指导我。

我的代码:(这不起作用)

class MyAccessibilityService : AccessibilityService() {

    override fun onInterrupt() {

    }


    override fun onKeyEvent(event: KeyEvent?): Boolean {
        Utilsfun.ToastMsg(this,"keyevent")
        return super.onKeyEvent(event)

    }




    override fun onAccessibilityEvent(event: AccessibilityEvent?) {

        val nodeInfo = event!!.source
        val className = event.getClassName()
        priE("Accessbilityt", className.toString());

        if (className.equals("com.android.internal.policy.impl.RecentApplicationsDialog")
            || className.equals("com.android.systemui.recent.RecentsActivity")
            || className.equals("com.android.systemui.recents.RecentsActivity")
            || className.equals("com.android.systemui.recents.SeparatedRecentsActivity")
        ){

            performGlobalAction(GLOBAL_ACTION_BACK)
        }


    }


    override fun onGesture(gestureId: Int): Boolean {

        return super.onGesture(gestureId)

    }
    override fun onServiceConnected() {
        super.onServiceConnected()



        priE("Accessbilityt", "onServiceConnected");
    }

}

我可以使用此代码检测到该操作,但无法禁用它。

标签: androidkotlin

解决方案


推荐阅读