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

startActivity intent在android 10的应用程序升级中崩溃

彭鸿畅
2023-03-14

下面是我的代码位。

Intent installIntent = new Intent(Intent.ACTION_VIEW);
installIntent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory() + "/Download/<filename>.apk")),"application/vnd.android.package-archive");
installIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
installIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(installIntent);

日志附在下面。

2021-05-12 13:40:27.167 6451-6451/Testpackage E/AndroidRuntime:致命异常:主进程:Testpackage,PID:6451 android。所容纳之物ActivityNotFoundException:未找到可处理Intent{act=android.Intent.action.VIEW dat的活动=file:///storage/emulated/0/Download/test.apk典型=应用程序/vnd。Androidandroid上的软件包存档flg=0x10000001}。应用程序。仪器。检查android上的StartActivityResult(Instrumentation.java:2051)。应用程序。仪器。android上的execStartActivity(Instrumentation.java:1849)。应用程序。活动android上的startActivityForResult(Activity.java:5892)。应用程序。活动android上的startActivityFromFragment(Activity.java:5867)。应用程序。活动$HostCallbacks。android上的onStartActivityFromFragment(Activity.java:8616)。应用程序。碎片android上的startActivity(Fragment.java:1101)。应用程序。碎片startActivity(Fragment.java:1080)位于com。维塔地图。梅奇。用户界面。预碎片。handleUpgdPrefClick(PrefsFragment.java:549)位于com。维塔地图。梅奇。用户界面。预碎片。com上的lambda$onCreate$0(PrefsFragment.java:105)。维塔地图。梅奇。用户界面-$$Lambda$PrefsFragment$ptok941-PomzwJdbFAOuP_uSPDs。onUpgdPrefClick(未知来源:2)位于com。维塔地图。梅奇。用户界面。基础升级checkpref。android上的onClick(UpgradeCheckPref.java:61)。偏爱偏爱android上的performClick(Preference.java:1163)。偏爱首选屏幕。android上的onItemClick(PreferenceScreen.java:260)。小装置。AdapterView。android上的performItemClick(AdapterView.java:330)。小装置。AblistView。android上的performItemClick(AblistView.java:1190)。小装置。AbsListView$PerformClick。在android上运行(AbsListView.java:3198)。小装置。AbsListView 3美元。在android上运行(AbsListView.java:4116)。操作系统。汉德勒。android上的handleCallback(Handler.java:883)。操作系统。汉德勒。android上的dispatchMessage(Handler.java:100)。操作系统。活套。android上的loop(Looper.java:214)。应用程序。活动线程。java上的main(ActivityThread.java:7356)。朗,反思一下。方法在com上调用(本机方法)。Android内部的操作系统。RuntimeInit$MethodAndArgsCaller。在com上运行(RuntimeInit.java:492)。Android内部的操作系统。合子体。main(ZygoteInit.java:930)

有人能帮我吗?

共有2个答案

江华容
2023-03-14

这是因为在android 10及更高版本中,您可以直接访问外部存储,只需在AndroidManifest的应用程序标记中添加这一行即可。xml文件android:requestLegacyExternalStorage=“true”。

堵茂勋
2023-03-14

你没有附加任何日志,但是分析你的代码,我认为这次崩溃可能与Android10(文件访问)中的隐私变化有关。你可以在这里阅读更多关于这个的信息:https://developer.android.com/about/versions/10/privacy/changes#scoped-storage

 类似资料:
  • 以下是我们当前应用程序的配置: Grails 2.4.2 Java:jdk-7u80 MySQL:5.7 Tomcat:7 MySQL连接器:5.1.39 现在我正在尝试从Java7升级Java8。 我正在尝试使用“jdk-8u25”版本(以避免不兼容JVM中提到的问题) 升级后:每当应用程序试图访问数据库时,JVM就会崩溃。 事故报告如下: 同样的问题也出现在命令行grails run-app和

  • 升级到Flatter 3.0版后,我的项目在第一次运行时崩溃。请参阅下面的日志。求你了,我需要帮助。 在调试模式下在IA模拟器上的AOSP上启动lib/main.dart... ✓内置构建/应用程序/输出/flutter-apk/app-debug.apk. 正在连接ws://127 . 0 . 0 . 1:41249/Xu B1 pru 2 wgq =/ws I/Choreographer(62

  • 我昨天更新了Android studio到2.3.1和gradle wrapper到Gradle-3.3-all。更新后,我的应用程序停止正确构建,并不断崩溃后,安装在设备。 我尝试使用gradlew installMockDebug安装应用程序,但它无法运行。我禁用了即时运行,正如在其他帖子中提到的,但没有帮助。有什么办法可以修好它吗? 编辑:我的build.gradle文件是:

  • 问题内容: 从Xcode 11.1升级到Xcode 11.2之后,我的应用崩溃了: ***由于未捕获的异常’NSInvalidUnarchiveOperationException’而终止应用程序,原因:’无法实例化名为_UITextLayoutView的类,因为未找到名为_UITextLayoutView的类;该类需要在源代码中定义或从库中链接(确保该类是正确目标的一部分)’ 为什么会这样呢?如

  • 该应用程序是使用Spring引导版本1.2.5版本创建的。我可以看到它包括一个嵌入式tomcat版本,它是8.0.23。有没有可能升级到最近的tomcat版本,比方说,tomcat 9与Spring启动1.2.5,仍然运行应用程序?或者我们需要升级Spring引导版本才能与tomcat 9兼容?Spring引导版本与Tomcat兼容是否有任何留档?谢谢你。