繁体   English   中英

Android appium Permission Denial:启动意图

[英]Android appium Permission Denial: starting Intent

任何人都可以帮助我查看此权限问题是由于我需要开发人员在打开权限的情况下重新构建的应用程序吗? 还是我的 adb 命令问题? 或者意图参数被错误地使用?

在android手机,

第一个屏幕:com.ninetest.hd3.test.testDetectActivity

第二屏:

com.ninetest.hd3.activity.MailActivity

使用第一个屏幕执行 adb 命令时,发生错误。 如果我将 appActivity 更改为第二个屏幕,那么没有问题。 但是如果我需要运行 appium 测试用例,我不能跳过第一个屏幕。

我也不能跳过意图参数,否则安装在工作配置文件下的应用程序不会启动。

**error**

C:\Users\tester>adb shell am start --user 10 -n "com.ninetest.hd3.work.cac/com.ninetest.hd3.test.testDetectActivity"
Starting: Intent { cmp=com.ninetest.hd3.work.cac/com.ninetest.hd3.test.testDetectActivity }
Security exception: Permission Denial: starting Intent { flg=0x10000000 cmp=com.ninetest.hd3.work.cac/com.ninetest.hd3.test.testDetectActivity } from null (pid=9047, uid=2000) not exported from uid 1010396

java.lang.SecurityException: Permission Denial: starting Intent { flg=0x10000000 cmp=com.ninetest.hd3.work.cac/com.ninetest.hd3.test.testDetectActivity } from null (pid=9047, uid=2000) not exported from uid 1010396
        at com.android.server.wm.ActivityStackSupervisor.checkStartAnyActivityPermission(ActivityStackSupervisor.java:1386)
        at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:921)
        at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:694)
        at com.android.server.wm.ActivityStarter.startActivityMayWait(ActivityStarter.java:1932)
        at com.android.server.wm.ActivityStarter.execute(ActivityStarter.java:625)
        at com.android.server.wm.ActivityTaskManagerService.startActivityAsUser(ActivityTaskManagerService.java:1707)
        at com.android.server.wm.ActivityTaskManagerService.startActivityAsUser(ActivityTaskManagerService.java:1603)
        at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:4218)
        at com.android.server.am.ActivityManagerShellCommand.runStartActivity(ActivityManagerShellCommand.java:518)
        at com.android.server.am.ActivityManagerShellCommand.onCommand(ActivityManagerShellCommand.java:172)
        at android.os.ShellCommand.exec(ShellCommand.java:104)
        at com.android.server.am.ActivityManagerService.onShellCommand(ActivityManagerService.java:12243)
        at android.os.Binder.shellCommand(Binder.java:916)
        at android.os.Binder.onTransact(Binder.java:790)
        at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:5310)
        at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3383)
        at android.os.Binder.execTransactInternal(Binder.java:1056)
        at android.os.Binder.execTransact(Binder.java:1029)

我认为您需要在 Activity 的AndroidManifest.xml文件中设置android:exported="true"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM