Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FLAG_ACTIVITY_NEW_TASK #9

Closed
mmuuyyuu opened this issue Jan 27, 2021 · 12 comments
Closed

FLAG_ACTIVITY_NEW_TASK #9

mmuuyyuu opened this issue Jan 27, 2021 · 12 comments

Comments

@mmuuyyuu
Copy link

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?
我在运行事件监听的时候遇到这样一个错误,怎么处理?

@georgehuan1994
Copy link
Owner

是startActivity()的报错,这是一个内部的Intent,只在钉钉内才能使用,所以要确保钉钉启动之后,再调用 attendKaoqin()

@georgehuan1994
Copy link
Owner

georgehuan1994 commented Jan 27, 2021

如果要在任意活动界面,拉起钉钉的考勤界面,可以在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)
    }
}

@mmuuyyuu
Copy link
Author

不好意思,没描述清楚。 我把脚本导入Autojs这个app,然后点击运行。就报这个错了。
问题是监听那一块,如果我把监听那一块代码注释掉,直接运行一个其他的函数是没问题的。
不知道是不是我哪里有错误的操作。

@georgehuan1994
Copy link
Owner

通知监听依赖于通知服务,如果通知服务没有运行,会抛出异常并跳转到通知权限开启界面。(有时即使通知权限已经开启通知服务也没有运行,这时需要关闭权限再重新开启一次)
另外把完整的报错发一下吧。

@mmuuyyuu
Copy link
Author

image

我已经删掉了别的代码,只剩下这个监听事件。

@georgehuan1994
Copy link
Owner

看下设置里,AutoJs的通知权限,是“允许通知”吗?

@mmuuyyuu
Copy link
Author

已经是设置的允许通知

@georgehuan1994
Copy link
Owner

image
在AutoJs里侧拉出菜单,看下这两个选项打开没有

@mmuuyyuu
Copy link
Author

额,我打不开图片。可以用文字描述是哪2个选项吗?我这边只打开‘无障碍服务’。
另外,我刚刚测试了其他通知,似乎只有‘通知监听’是报错,其他的监听没有问题。

@georgehuan1994
Copy link
Owner

菜单里的 读取通知权限、前台服务

@mmuuyyuu
Copy link
Author

解决了,是这个问题。谢谢,麻烦了

@zy410692
Copy link

多谢,跟我的问题一样,就是读取通知的权限.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants