eclipse 使用文件路径打开画廊中的图像

6ss1mwsb  于 2022-11-23  发布在  Eclipse
关注(0)|答案(4)|浏览(238)

我有一个图像文件路径存储在我的数据库中。现在使用它,我想打开我的画廊从SD卡的图像。我怎么能做到这一点。我已经看到的方法从URI和使用这个方法,但我得到错误

File file = new File(filename);
            Uri uri = Uri.fromFile(file);
            Intent intent = new Intent(Intent.ACTION_VIEW, uri);
            intent.setType("image/*");
            startActivity(intent); /** replace with your own uri */

如何修复它,

04-20 08:42:23.516: E/AndroidRuntime(16815): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=file:///mnt/sdcard/My%20App/image_umxto_1.jpg }

顺祝商祺

nhjlsmyf

nhjlsmyf1#

Intent intent = new Intent();
            intent.setAction(Intent.ACTION_VIEW);
            intent.setDataAndType(Uri.fromFile(new File(filename)), "image/*");
            startActivity(intent);

用这个密码告诉我

hfsqlsce

hfsqlsce2#

您也可以使用下面的代码:::

Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("file://" + "/sdcard/test.jpg"), "image/*");
startActivity(intent);
lmvvr0a8

lmvvr0a83#

您可以使用下面的行来执行任务:::

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("content://media/external/images/media/16"))); /** replace with your own uri */
nr7wwzry

nr7wwzry4#

我得到了FileUriExposedException,经过一些挖掘后找到了解决方案。将文件路径转换为URI并将其传入Intent。

MediaScannerConnection.scanFile(getContext(),
                    new String[] { getImagePath() }, null,
                    new MediaScannerConnection.OnScanCompletedListener() {
                        public void onScanCompleted(String path, Uri uri) {
                            Log.i("onScanCompleted", uri.getPath());
                            Intent intent = new Intent();
                            intent.setAction(Intent.ACTION_VIEW);
                            intent.setDataAndType(uri, "image/*");
                            startActivity(intent);
                        }
                    });

希望能有所帮助。

相关问题