当前位置:   article > 正文

[autojs]界面上检测无障碍服务和悬浮窗_autojs判断无障碍服务权限

autojs判断无障碍服务权限
  1. "ui";
  2. ui.layout(
  3. <vertical>
  4. <appbar>
  5. <toolbar title="悬浮窗权限无障碍服务"/>
  6. </appbar>
  7. <horizontal>
  8. <Switch id="无障碍服务" text="无障碍服务" checked="{{auto.service != null}}" padding="8 8 8 8" textSize="15sp"/>
  9. <Switch id="悬浮窗权限" text="悬浮窗权限" checked="{{floaty.checkPermission() != false}}" padding="8 8 8 8" textSize="15sp"/>
  10. </horizontal>
  11. <button id="start" text="启动脚本"/>
  12. </vertical>
  13. );
  14. ui.无障碍服务.on("check", function(checked) {
  15. // 用户勾选无障碍服务的选项时,跳转到页面让用户去开启
  16. if (checked && auto.service == null) {
  17. app.startActivity({
  18. action: "android.settings.ACCESSIBILITY_SETTINGS"
  19. });
  20. }
  21. if (!checked && auto.service != null) {
  22. auto.service.disableSelf();
  23. }
  24. });
  25. ui.悬浮窗权限.on("check", function(checked) {
  26. //申请悬浮窗
  27. importClass(android.content.Intent);
  28. importClass(android.net.Uri);
  29. importClass(android.provider.Settings);
  30. var intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
  31. Uri.parse("package:" + context.getPackageName()));
  32. intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  33. app.startActivity(intent);
  34. });
  35. // 当用户回到本界面时,resume事件会被触发
  36. ui.emitter.on("resume", function() {
  37. // 此时根据无障碍服务的开启情况,同步开关的状态
  38. ui.无障碍服务.checked = auto.service != null;
  39. ui.悬浮窗权限.checked = floaty.checkPermission() != false
  40. });
  41. ui.start.on("click", function() {
  42. if (floaty.checkPermission() == false) {
  43. toast("请先开启悬浮窗权限!")
  44. return;
  45. }
  46. //程序开始运行之前判断无障碍服务
  47. if (auto.service == null) {
  48. toast("请先开启无障碍服务!");
  49. return;
  50. }
  51. /**
  52. * 下面运行主要程序
  53. */
  54. starts();
  55. });
  56. function starts(){
  57. toast("主程序开始运行");
  58. }

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/111728
推荐阅读
相关标签
  

闽ICP备14008679号