好吧,所以我正在努力实现一些不应该那么困难的东西,但出于某种原因,它是。所以我有一个应用程序通过一个设置过程,它要求你的名字,然后两个ID号码,所有这些都保存在共享的首选项中,无论是重新启动还是强制关闭应用程序保存数据。设置过程的第三步包括从用户那里获取图片,并且我已经成功地让它显示一次,但在重启或强制关闭后它不会粘住。所以我的问题是我需要什么代码来打开图库选择器意图,以便用户可以选择照片,保存该照片,将该Uri写入字符串中的照片,然后继续将其输入到SharedPreference中以便它重启/强制关闭。我有代码工作但它不会以正确的方式保存Uri因此它不会加载。但是我把所有这些代码都删掉了,希望有人可以给我一个更直接的答案。谢谢!
答案 0 :(得分:0)
大多数Uri
值都是暂时的,并且在您获得它们后几分钟内无法保证可用,更不用说永远了。
您的选择是:
如果minSdkVersion
为19岁以上,请使用ACTION_OPEN_DOCUMENT
选择图片。存储访问框架具有persistent Uri
permissions选项,副作用是具有更持久的Uri
。尽管如此,由于用户可能会删除图像,因此您无法假设您将永久访问该图像。
将图像复制到您自己的应用中并使用您的本地副本。