gpt4 book ai didi

java - Android 9.0使用intent打开图像总是显示黑色结果

转载 作者:行者123 更新时间:2023-12-02 04:41:15 26 4
gpt4 key购买 nike

我希望在android 9.0中使用intent open image

here是我的完整代码

我使用以下代码:

  File file = new File(Environment.getExternalStorageDirectory() + "/Download/green.jpg");
final Intent intent = new Intent(Intent.ACTION_VIEW)/**/
.setDataAndType(FileProvider.getUriForFile(this, getPackageName() + ".provider", file), "image/*")
.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(intent);

我确信图像存在并且 <provider>存在于AndroidManifest.xml中logcat 显示以下内容,没有任何错误

START u0 {act=android.intent.action.VIEW dat=content://ro.opendir.provider/external_storage_root/Download/green.jpg typ=image/* flg=0x1 cmp=com.android.gallery3d/.app.GalleryActivity} from uid 10074

但结果黑色为空:

enter image description here

当我使用内置"file"应用程序打开同一图像时:

和 logcat 显示:

06-09 11:48:02.708 480-1594/system_process I/ActivityManager: START u0 {act=android.intent.action.VIEW dat=content://com.android.providers.downloads.documents/document/raw:/storage/emulated/0/Download/green.jpg typ=image/jpeg flg=0x3 cmp=com.android.gallery3d/.app.GalleryActivity} from uid 10022

结果是

enter image description here

最佳答案

我找到原因和解决方案了,

简而言之,我的应用程序没有“存储”权限,当我在应用程序信息中手动启用它时(请参见下面的图片),我可以以 Intent 打开图像并且图像正确显示 enter image description here

详细信息:

即使我添加了存储使用权限,但在我的代码中,我在 MainActivity #onCreate 中有意打开图像,因此我没有进行任何更改以允许“访问存储”权限对话框,我可以更改我的代码以首先确保我的应用程序具有“存储”权限

关于java - Android 9.0使用intent打开图像总是显示黑色结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56516068/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com