Closed mmuuyyuu closed 2 years ago
是startActivity()的报错,这是一个内部的Intent,只在钉钉内才能使用,所以要确保钉钉启动之后,再调用 attendKaoqin()
如果要在任意活动界面,拉起钉钉的考勤界面,可以在intent中加一个flags数组参数 flags: [Intent.FLAG_ACTIVITY_NEW_TASK]
/**
* @description 使用 URL Scheme 进入考勤界面
*/
function attendKaoqin(){
var url_scheme = "dingtalk://dingtalkclient/page/link?url=https://attend.dingtalk.com/attend/index.html"
if(CORP_ID != "") {
url_scheme = url_scheme + "?corpId=" + CORP_ID
}
var a = app.intent({
action: "VIEW",
data: url_scheme,
flags: [Intent.FLAG_ACTIVITY_NEW_TASK]
});
app.startActivity(a);
console.info("正在进入考勤打卡页面...")
sleep(6000)
if (null != textMatches("申请").clickable(true).findOne(3000)) {
console.log("已进入考勤打卡页面")
sleep(1000)
}
}
不好意思,没描述清楚。 我把脚本导入Autojs这个app,然后点击运行。就报这个错了。 问题是监听那一块,如果我把监听那一块代码注释掉,直接运行一个其他的函数是没问题的。 不知道是不是我哪里有错误的操作。
通知监听依赖于通知服务,如果通知服务没有运行,会抛出异常并跳转到通知权限开启界面。(有时即使通知权限已经开启通知服务也没有运行,这时需要关闭权限再重新开启一次) 另外把完整的报错发一下吧。
我已经删掉了别的代码,只剩下这个监听事件。
看下设置里,AutoJs的通知权限,是“允许通知”吗?
已经是设置的允许通知
在AutoJs里侧拉出菜单,看下这两个选项打开没有
额,我打不开图片。可以用文字描述是哪2个选项吗?我这边只打开‘无障碍服务’。 另外,我刚刚测试了其他通知,似乎只有‘通知监听’是报错,其他的监听没有问题。
菜单里的 读取通知权限、前台服务
解决了,是这个问题。谢谢,麻烦了
多谢,跟我的问题一样,就是读取通知的权限.
Wrapped android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want? 我在运行事件监听的时候遇到这样一个错误,怎么处理?