android 保存file文件怎么打开,Android – 无法打开内容:file:/// storage / emulated / 0...

我有一个具有九个补丁图像背景的小部件.

图像保存在/ sdcard / mydir / bgs中.

当我尝试使用setImageViewUri方法加载图像时,我有这个错误:

Unable to open content: file:///storage/emulated/0/sdcard/mydir/bgs

..

然后

open failed: EACCES (Permission denied)

这只会出现在主屏幕上,只有Nexus 10和Nexus 7(最新的启动器4.4此错误不存在).我的应用程序中还有一些RemoteView,并且都可以正常工作.

我也添加到清单READ_EXTERNAL_STORAGE,WRITE_EXTERNAL_STORAGE.

我该怎么解决?

更新:我检查了setImageViewUri的方法,我发现它改变了我的文件的路径.

if (value != null) {

// Resolve any filesystem path before sending remotely

value = value.getCanonicalUri();

if (StrictMode.vmFileUriExposureEnabled()) {

value.checkFileUriExposed("RemoteViews.setUri()");

}

}

此方法接收我的值(/ sdcard / mydir / bgs)并将其更改为(storage / emulated / 0 / sdcard / mydir / bgs).但是这个文件不通过adb存在于系统中.

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值