啊那意思 2020-02-19 16:21 采纳率: 0%
浏览 497

小白请问这串代码哪里出了问题?为什么不能将图片储存进手机?


```photo_button.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                checkPermission_Camera();
                //Action here
            }
        });

```private void checkPermission_Camera(){
RxPermissions rxPermissions = new RxPermissions(ObjectInformationActivity.this);
rxPermissions.request(android.Manifest.permission.CAMERA)
.subscribe(new io.reactivex.functions.Consumer() {
@Override
public void accept(Boolean aBoolean) throws Exception {
if (aBoolean) {
// 用户已经同意该权限
takePhoto();
} else {
// 用户拒绝了该权限,并且选中『不再询问』
ToastUtils.showLong(getResources().getString(R.string.ask_for_permission));
}
}
});
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode==RESULT_OK&&requestCode==REQUEST_CODE_CAMERA) {
Toast.makeText(this, "保存照片成功", Toast.LENGTH_SHORT).show();
Bitmap bitmap =(Bitmap) Objects.requireNonNull(data.getExtras()).get("data");
picture_of_object.setImageBitmap(bitmap);
}
super.onActivityResult(requestCode, resultCode, data);
}}


    private void takePhoto(){
        //初始化照片路径
         Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
         File file = new File(getExternalFilesDir(null)+File.separator+"myPicture");
            if(!file.exists()){
            file.mkdirs();
            }
            String pictureName =new SimpleDateFormat("yyyyMMddHHmmss").format(new Date())+".jpg";
            File saveFile= new File(file,pictureName);
            uri = FileProvider.getUriForFile(this,"univ.buaa.icabinet.activity",saveFile);
            intent.putExtra(MediaStore.EXTRA_OUTPUT,uri);//根据这个uri保存照片
            startActivityForResult(intent,REQUEST_CODE_CAMERA);//结果返回onActivityResult函数
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if(resultCode==RESULT_OK&&requestCode==REQUEST_CODE_CAMERA) {
            Toast.makeText(this, "保存照片成功", Toast.LENGTH_SHORT).show();
            Bitmap bitmap =(Bitmap) Objects.requireNonNull(data.getExtras()).get("data");
            picture_of_object.setImageBitmap(bitmap);
        }
        super.onActivityResult(requestCode, resultCode, data);
    }}
  • 写回答

4条回答 默认 最新

  • bdmh 移动开发领域优质创作者 2020-02-19 16:48
    关注

    你什么问题啊,不同版本,对照片返回的图片的获取也不一样

    评论

报告相同问题?

悬赏问题

  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?