为了账号安全,请及时绑定邮箱和手机立即绑定

uri字符串不能在android中缓存

uri字符串不能在android中缓存

炎炎设计 2019-03-21 18:19:56
我使用的下面的代码String fileName = "image" + "_" + title.getText().toString()+"_" + val.toString();                      photo = this.createFile(fileName, ".jpg");                     intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo));                     uriOfPhoto = Uri.fromFile(photo);                     startActivityForResult(intent, RESULT_CAMERA_SELECT);                 }             }             catch(Exception e)             {                 Log.v("Error", "Can't create file to take picture!");                 displayAlert("Can't create file to take picture!","SDCard Error!");             }         }         private File createFile(String part, String ext) throws Exception         {             File tempDir = new File (Environment.getExternalStorageDirectory() + "/MyFolder/Images");             if(!tempDir.exists())             {                 tempDir.mkdir();             }             tempDir.canWrite();             return new File(tempDir, part+ext);         }     });UriOfPhoto 给出提示uriString not chached in debug。它不是存储文件中的uri。如何解决这个问题呢?authority   Uri$Part$EmptyPart  (id=830004244032)    fragment    Uri$Part$EmptyPart  (id=830004245408)    host    "NOT CACHED" (id=830003914304)   path    Uri$PathPart  (id=830067926736)  port    -2   query   Uri$Part$EmptyPart  (id=830004245408)    scheme  "file" (id=830002660688)     ssp null     uriString   "NOT CACHED" (id=830003914304)   userInfo    null
查看完整描述

2 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

photo 的值是确定的,

photo = this.createFile(fileName, ".jpg");
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo));
uriOfPhoto = Uri.fromFile(photo);

为什么还在这里实例化uriOfPhoto, 有点多余。 在用到的时候在实例化


查看完整回答
反对 回复 2019-04-29
?
互换的青春

TA贡献1797条经验 获得超6个赞

String fileName = Environment.getExternalStorageDirectory() + "/MyFolder/Images" + fileName + ".jpg";
UriOfPhoto = Uri.parse(fileName);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.putExtra(MediaStore.EXTRA_OUTPUT,  UriOfPhoto);
startActivityForResult(intent, RESULT_CAMERA_SELECT);

不需要创建文件来存储照片,你只需要传递 uri,它里面的照片必须是像android系统创建的文件一样,然后在 uri 中存储捕捉的图像。


查看完整回答
反对 回复 2019-04-29
  • 2 回答
  • 0 关注
  • 377 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信