当前位置: 首页 > 知识库问答 >
问题:

通过库中的意图启动应用程序主活动时出错

鲜于华容
2023-03-14
final String packageName = getApplicationContext().getPackageName();
final Intent launchIntent = getPackageManager().getLaunchIntentForPackage(packageName);
startActivity(launchIntent);

上面的代码行是在我的Android库项目中,因为我不知道在这个地方我的主要活动的类。

当在测试设备上通过USB接口部署应用程序时,这就像是一种魅力,但当在4.3设备上安装谷歌Play的应用程序时,就会出现这种错误。

<罢工> 07-03 13:54:19.843:E/DatabaseUtils(2344):向包写入异常07-03 13:54:19.843:E/DatabaseUtils(2344):java.lang.SecurityException:权限拒绝:用户的Get/Set设置要求以用户-2的身份运行,但从用户0调用;这需要Android.permission.interact_across_users_full 07-03 13:54:19.843:e/databaseUtils(2344):at com.android.server.am.activitymanagerservice.handleincomingUser(ActivityManagerService.java:13140)07-03 13:54:19.843:e/databaseUtils(2344):at android.app.activityManager.handleincomingUser(2344):at android.app.activityManager.handleincomingUser settingsProvider.java:607)07-03 13:54:19.843:e/databaseUtils(2344):at android.content.contentProvider$transport.call(contentProvider.java:279)07-03 13:54:19.843:e/databaseUtils(2344):at android.content.contentProvidernative.onTransact(contentProvidernative.onTransact(contentProvidernative.java:273)07-03 at com.android.server.systemserver.init1(本机方法)07-03 13:54:19.843:e/databaseUtils(2344):at com.android.server.systemserver.main(systemserver.javA:2012)07-03 13:54:19.843:E/databaseUtils(2344):at java.lang.reflect.Method.invokenative(原生方法)07-03 13:54:19.843:E/databaseUtils(2344):at java.lang.reflect.Method.invoke(Method.java:525)07-03 13:54:19.843:E/databaseUtils(2344):at internal.os.zygoteinit.main(zygoteinit.java:862)07-03 13:54:19.843:e/databaseUtils(2344):at dalvik.system.nativeStart.main(本机方法)

有人经历过同样的问题吗?

编辑:
<罢工> 我没有提到有几个线程提到“ interact_across_users_full是签名级权限。除非你的应用程序与系统具有相同的签名,否则你的应用程序将无法使用它。“

权限拒绝:startActivity要求以用户-2的身份运行,但正在从用户0调用;这需要Android.Permission.interact_across_users_full
权限拒绝:这需要Android.Permission.interact_across_users_full我该怎么做:这需要Android.Permission.interact_across_users_full

<罢工> 但是由于上面的代码似乎被其他开发人员使用,我仍然希望有一个解决方案。

编辑2:
删除与问题无关的堆栈。

共有1个答案

南门茂才
2023-03-14

引用“关于这个需要Android权限”“跨用户交互”“完整”的内容,

Android.permission.interact_across_users_full是签名级权限。您的应用程序将无法使用它,除非它具有与系统相同的签名。

更新:

PackageManager pm = context.getPackageManager();
int hasPerm = pm.checkPermission(
    android.Manifest.permission.WRITE_EXTERNAL_STORAGE, 
    context.getPackageName());
if (hasPerm != PackageManager.PERMISSION_GRANTED) {
   // do stuff
}
 类似资料:
  • 我正在尝试发布我的第一个Android应用程序,以发送给一些测试人员。但是,我遇到了一个问题。当您退出应用程序,然后通过其图标启动它重新进入它时,它会重新启动整个应用程序,而不是返回到其以前的位置。即使您在退出后立即重新进入,也会发生这种情况。但是,如果我按住主屏幕按钮并通过最近的应用程序列表启动它,则不会发生这种情况。 我在网上搜索过其他有这个问题的人,只有少数人,但没有人能确切回答为什么会发生

  • 我已经在android studio 3.5版本中创建了一个应用程序,其中约束布局中只有一个图像视图。但当我在emulator中运行应用程序时,会显示以下错误: 显示错误: XML代码: 主要活动: Android屏幕截图: 这里是ANDROIDActudio.xml文件:(当我打开它时,显示的消息是:App不是谷歌搜索可索引的;考虑用ActoVIEW意图过滤器发行ID添加至少一个活动:GoGoL

  • 我正在尝试使用简单的spring启动应用程序。我在ApplicationContext上启动应用程序时遇到问题。 2017-04-26 11:17:31.101警告14528---[main]s.c.a.AnnotationConfigApplicationContext:上下文初始化期间遇到异常-取消刷新尝试:org。springframework。豆。工厂未满足的PendencyExcepti

  • 我有一个通知服务正在运行,它将为用户创建一个通知,如果用户单击该通知,它将打开一个活动以显示消息,我用于创建通知的方法是: MessageNotificationActivity正在使用“android:style/theme.dialog”使其看起来像一个对话框。现在的情况是,当我单击通知时,一切都很顺利,活动就像一个后台没有任何内容的对话框一样打开,但如果应用程序暂停并处于后台,当我单击通知时

  • 问题内容: 我为具有不同元数据的活动设置了一些别名。 在此元数据中,我设置了片段的名称,然后通过反射将其加载。 我不知道这是否是一个“干净”的解决方案,尽管通过使用Fragments并将功能放入内部,我只具有一个SuperActivity和2个Empty SubActivity来指定清单中的每个。 现在的问题是:我可以通过意图启动别名吗?无法工作,因为我找不到通过意图调用来设置元数据的方法。 我需

  • 当我运行这个错误时,请帮助我解决这个问题 启动应用程序上下文时出错。要显示条件,请报告启用“调试”后重新运行应用程序。2019-02-11 10:53:55.839错误8804 --- [ restartedMain]o. s. b. d.日志失败分析记者: 应用程序启动失败 说明: com中的字段userDao。实例Spring Security应用程序编程接口。服务UserServiceImp