【发布时间】:2016-10-06 14:20:33
【问题描述】:
我正在尝试从设备库中获取图像,然后在另一个活动中显示它。 我活动中的代码:
private void startGallery() {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("image/*");
startActivityForResult(intent, REQ_OPEN_GALLERY)
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQ_OPEN_GALLERY && resultCode == Activity.RESULT_OK) {
Uri imageUri = data.getData()
// here I save image uri to pass to another activity
}
}
当我尝试在另一个活动中打开 uri 时,我得到 SecurityException。 Docs 表示对接收到的 uri 的许可将持续到接收它们的活动完成为止。因此,当我的活动完成后,我没有读取文件的权限。
有没有办法延长 uri 权限以允许其他活动通过此 uri 打开文件?还是唯一的方法是将图像复制到本地应用存储?
UPD:我的目标是将收到的 uri 保存在本地数据库中,并允许其他活动和服务读取此文件。
【问题讨论】:
标签: android android-permissions