Auto.js 通知读取权限 两种方法

方法1

"ui";
runtime.loadDex("模块/android.dex")
ui.layout(
    <horizontal>
        <button id="跳转"text="跳转"/>
        <Switch id="通知" text="通知读取权限" checked="{{通知()}}"textSize="15sp"/>
    </horizontal>
);
ui.跳转.click(() => {
    app.startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));
})
// 当用户回到本界面时,resume事件会被触发
ui.emitter.on("resume", function() {
    // 此时根据无障碍服务的开启情况,同步开关的状态
    ui.通知.checked =通知() ;
});
ui.通知.click(()=>{
    if(!通知()){
        app.startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));
    }else{
        toast("已经开启了")
    }
})
function 通知() {
    // 判断是否开启监听通知权限
    n = android.support.v4.app.NotificationManagerCompat
    v = n.getEnabledListenerPackages(activity).contains(activity.getPackageName())
    if (!v) {
        return false
    } else {
        return true
    }
}

方法2

runtime.loadDex("模块/android.dex")
var win = floaty.rawWindow(
    <horizontal>
        <button id="跳转"text="跳转"/>
        <Switch id="通知"text="通知读取权限" checked="{{通知()}}"textSize="15sp"/>
    </horizontal>
);
win.setPosition(200, 500);
setInterval(()=>{}, 1000);
win.跳转.click(() => {
    app.startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));
})

win.通知.click(()=>{
    if(!通知()){
        app.startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));
    }else{
        toast("已经开启了")
    }
})
function 通知() {
    // 判断是否开启监听通知权限
    n = android.support.v4.app.NotificationManagerCompat
    v = n.getEnabledListenerPackages(context).contains(context.getPackageName())
    if (!v) {
        return false
    } else {
        return true
    }
}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值