我正在使用辅助功能服务来阅读顶级软件包。但现在我需要停止应用程序并通过可访问性停止所有正在运行的服务。 我一直在寻找同样的干净大师。 请建议我该怎么做?
答案 0 :(得分:3)
使用辅助功能服务可以强制停止应用。请参阅代码
public class MyAccessibilityService extends AccessibilityService {
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
//TYPE_WINDOW_STATE_CHANGED == 32
if (AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED == event
.getEventType()) {
AccessibilityNodeInfo nodeInfo = event.getSource();
if (nodeInfo == null) {
return;
}
List<AccessibilityNodeInfo> list = nodeInfo
.findAccessibilityNodeInfosByViewId("com.android.settings:id/left_button");
//We can find button using button name or button id
for (AccessibilityNodeInfo node : list) {
node.performAction(AccessibilityNodeInfo.ACTION_CLICK);
}
list = nodeInfo
.findAccessibilityNodeInfosByViewId("android:id/button1");
for (AccessibilityNodeInfo node : list) {
node.performAction(AccessibilityNodeInfo.ACTION_CLICK);
}
}
}
@Override
public void onInterrupt() {
// TODO Auto-generated method stub
}
}
打开设置屏幕,单击要从已安装的应用程序强制停止的应用程序。
https://developer.android.com/guide/topics/ui/accessibility/services.html#event-details