gpt4 book ai didi

android - 授予 Uri 对另一个 Activity 的权限

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:21:02 26 4
gpt4 key购买 nike

我正在尝试从设备库中获取图像,然后在另一个 Activity 中显示它。我 Activity 中的代码:

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
}
}

当我尝试在另一个 Activity 中打开 uri 时,我得到了 SecurityExceptionDocs表示对接收到的 uri 的许可持续到接收它们的 Activity 完成为止。因此,当我的 Activity 结束时,我没有读取文件的权限。

有什么方法可以延长 uri 权限以允许其他 Activity 通过此 uri 打开文件?或者唯一的方法是将图像复制到本地应用程序存储?

UPD:我的目标是将收到的 uri 保存在本地数据库中,并允许其他 Activity 和服务读取此文件。

最佳答案

Is there some way to prolongate uri permission to allow other activities open file by this uri?

是的。 Include FLAG_GRANT_READ_URI_PERMISSION when you pass the Uri从第一个 Activity 到第二个 Activity :

startActivity(new Intent(this, Something.class).setData(uri).addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION));

关于android - 授予 Uri 对另一个 Activity 的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39898516/

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