关于自学小白android项目的相机在硬盘上存储照片失败的问题解决

这个对于新手来说,很崩溃,特别是自学的小白
android7.0以后,在使用系统自带的camera时,1.不仅需要在manfest.xml里面添加管理权限,而且还要在mainactivity里面添加权限管理代码,所以需要在两个地方添加权限管理的代码。具体的代码我就不贴出来,百度都有。2.还有android7.0存储的照片的路径也已经改了,不然也会让app崩溃。所以需要同时达到三个条件才能运行app,以下,我贴出了照片保存的正确路径:
mFilePath=Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getPath();
//mFilePath=Environment.getExternalStorageDirectory().getPath();//错误的路径
mFilePath=mFilePath+"/"+System.currentTimeMillis()+".jpg";
3.在更改照片的默认默认存储路径时,需要fileprovider,如下:
public void imageCapture(View view){
Intent intent = new Intent();
intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT,
FileProvider.getUriForFile(this,getPackageName()+".provider",file);/);
//让照片输出到指定路径
startActivityForResult(intent,MEDIA_TYPE_IMAGE);
}
这里的fileprovider需要在manifest.xml注册,并且需要建立一个file_path.xml文件具体作用,我不知道,但是必须要这三个要求才能正常运行

我参考过的文章https://blog.csdn.net/qq_40861368/article/details/80171339

你可能感兴趣的:(android9.0,存储照片app,崩溃)