在某些Samsung Android设备上找不到用于处理意图OPEN_DOCUMENT_TREE的Activity

qxsslcnc  于 2023-02-02  发布在  Android
关注(0)|答案(1)|浏览(227)

我的android应用程序打开"document tree"选择器,提示对外部存储完整目录的读取权限(根据android 10+范围存储规则)。

    • 相对代码**
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
    intent.addFlags(Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION);
    startActivityForResult(intent, REQUEST_ID_PERMISSION);

适用于所有测试版本和设备变体。但是,我的crashlytics显示以下错误发生了相当多的时间为一些三星设备。(A20-Android 9|S10/10 +-安卓系统10和11|注意事项20-安卓系统11)

Fatal Exception: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.OPEN_DOCUMENT_TREE flg=0x40 }
   at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2071)
   at android.app.Instrumentation.execStartActivity(Instrumentation.java:1717)
   at android.app.Activity.startActivityForResult(Activity.java:5252)
   at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:676)

此问题的任何潜在原因和解决方案,已知:
1.我可以在启动OPEN_DOCUMENT_TREE之前检查活动的可用性,但这将导致文档选择器无法打开。
1.一些旧的答案建议添加intent.setType("/"),但这不再有效,并导致崩溃,原因在另一个问题中解释(我不能再找到,但在这里是无关紧要的)。
1.我还认为这可能很有可能与一些用户禁用了设备上的文件应用程序有关,因为很可能错误并不是发生在上面列出的所有设备型号上,而是一个子集。
谢谢您。

ar5n3qh5

ar5n3qh51#

数据点:我在网上搜索我的一个应用程序(在三星S10上)的用户报告的a similar exception / crash的解释时遇到了这个讨论。我把这个讨论告诉了这个用户,果然,他已经停用了文件应用程序,重新激活它解决了问题。

相关问题