像 greenify 这样的应用程序如何打开系统 Activity 并单击那里的按钮? activity是“App Info”,自动点击“Force Stop”按钮。并且该应用程序可以点击该 Activity 中的按钮无需root。
打开 Activity “App Info”的代码如下:
Intent intent = new Intent();
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", "com.package.sendinput", null);
intent.setData(uri);
startActivityForResult(intent, 0);
然后 Activity 开始了。要单击那里的按钮,我尝试执行 adb shell input tap 200 340(使用与我正在运行的应用程序相同的 uid),但被系统“杀死”。但是用root可以点击按钮。
还有其他办法吗?
提前致谢
最佳答案
编辑:(猜测工作,因为我自己没有做过这样的事情)
Greenify 自动化是通过作为 Accessibility 服务运行来完成的。简而言之,它检索窗口的当前内容并将 AccessibilityEvent
发送到指定的 View ,例如:触摸、焦点。
内容窗口被描述为AccessibilityWindowInfo
,它可以是TYPE_APPLICATION
、TYPE_INPUT_METHOD
、TYPE_SYSTEM
。
为了将事件发送到窗口,它使用 AccessibilityManager
将 AccessibilityEvent
发送到您在 AccessibilityWindowInfo
中检索到的任何 subview
阅读: UiAutomation
关于android - 如何打开系统 Activity 并单击那里的按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27502559/