方法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
}
}