Auto.js UI界面检查悬浮和无障碍

Auto.js UI界面检查悬浮和无障碍

在这里插入图片描述

"ui";
ui.layout(
    <vertical>
        <appbar>
            <toolbar title="悬浮窗权限无障碍服务"/>
        </appbar>
        <horizontal>
            <Switch id="无障碍服务" text="无障碍服务" checked="{
     
     {auto.service != null}}" padding="8 8 8 8" textSize="15sp"/>
            <Switch id="悬浮窗权限" text="悬浮窗权限" checked="{
     
     {floaty.checkPermission() != false}}" padding="8 8 8 8" textSize="15sp"/>
        </horizontal>
        <button id="start" text="启动脚本"/>
    </vertical>
);
ui.无障碍服务.on("check", function(checked) {
    // 用户勾选无障碍服务的选项时,跳转到页面让用户去开启
    if (checked && auto.service == null) {
        app.startActivity({
            action: "android.settings.ACCESSIBILITY_SETTINGS"
        });
    }
    if (!checked && auto.service != null) {
        auto.service.disableSelf();
    }
});
ui.悬浮窗权限.on("check", function(checked) {
    //申请悬浮窗
    importClass(android.content.Intent);
    importClass(android.net.Uri);
    importClass(android.provider.Settings);
    var intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
        Uri.parse("package:" + context.getPackageName()));
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    app.startActivity(intent);
});
// 当用户回到本界面时,resume事件会被触发
ui.emitter.on("resume", function() {
    // 此时根据无障碍服务的开启情况,同步开关的状态
    ui.无障碍服务.checked = auto.service != null;
    ui.悬浮窗权限.checked = floaty.checkPermission() != false
});
ui.start.on("click", function() {
    if (floaty.checkPermission() == false) {
        toast("请先开启悬浮窗权限!")
        return;
    }
    //程序开始运行之前判断无障碍服务
    if (auto.service == null) {
        toast("请先开启无障碍服务!");
        return;
    }
    /**
     * 下面运行主要程序
     */
    starts();
});
function starts(){
    toast("主程序开始运行");
}

猜你喜欢

转载自blog.csdn.net/csl12919/article/details/130784443