共享内容:使用Intent.createChooser时拒绝权限

问题描述

我目前正在使我的应用适应Android 11。 当我要共享文件时,我在logcat中收到以下错误消息:

拒绝权限:读取androidx.core.content.FileProvider uri content:// ...来自pid = 20333,uid = 1000要求提供者为 导出的或grantUriPermission()

但是我的应用仍然可以正常使用,并且共享可以正常工作。

该问题仅在我使用时出现:

startActivity(Intent.createChooser(intent,"share"));

当我使用它时不会发生:

startActivity(intent);

我当然在AndroidManifest.xml中将android:requestLegacyExternalStorage设置为true。 targetSdkVersion是29。

Uri uri = FileProvider.getUriForFile(this,AUTHORITY_FILE,file);

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_SUBJECT,"subject");
intent.putExtra(Intent.EXTRA_STREAM,uri);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

startActivity(Intent.createChooser(intent,"share")); // error
startActivity(intent); // no error

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)