= -6ren">
gpt4 book ai didi

java - Android 4.4 及更高版本在重启后不提供持久文件路径

转载 作者:行者123 更新时间:2023-12-01 08:53:33 27 4
gpt4 key购买 nike

我要求用户选择这样的图像:

Intent intent = new Intent();
intent.setType("image/*");
if (Build.VERSION.SDK_INT >= 19) {
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setAction(Intent.ACTION_OPEN_DOCUMENT);
} else
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, getResources().getString(R.string.select_image)), PICK_IMAGE_REQUEST);

我像这样保存图像 Uri

if (requestCode == PICK_IMAGE_REQUEST && resultCode == Activity.RESULT_OK && data != null && data.getData() != null) {
getPreferenceScreen().getSharedPreferences().edit().putString("pic_url", data.getDataString()).apply();

然后像这样获取该图像的位图

Bitmap bitmap = MediaStore.Images.Media.getBitmap(context.getContentResolver(), Uri.parse(picUrl));

问题是,在 API 19+ 上,我的 SharedPreferences 中的 uri 不再返回用户重新启动后选择的图像(我认为最后一行抛出了异常)。

最佳答案

尝试使用此方法获取位图

Bitmap bitmap=BitmapFactory.decodeFile(uri);

关于java - Android 4.4 及更高版本在重启后不提供持久文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42207231/

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