<uses-permission androID:name="androID.permission.INTERNET" /> <uses-permission androID:name="androID.permission.READ_EXTERNAL_STORAGE" /> <uses-permission androID:name="androID.permission.WRITE_EXTERNAL_STORAGE" />
在<application></application>中的配置
<provIDer androID:authoritIEs="com.example.demo_tryopencv_2.fileprovIDer" androID:name="androIDx.core.content.fileProvIDer" androID:exported="false" androID:grantUriPermissions="true"> <Meta-data androID:name="androID.support.file_PROVIDER_PATHS" androID:resource="@xml/file_path"> </Meta-data></provIDer>
androID:name里的值:包名+fileProvIDer
androID:resource:文件还没有创建,所以会先报错
下面创建resource里的xml文件
(1)把视图模式改为"Project"
(2)app -> src -> main -> res,在res下新建一个文件夹xml,在xml文件夹下新建xml文件
(右击 -> new -> XML Source file,文件名与resource里保持一致,例:此处文件名应为“file_path”)
<?xml version="1.0" enCoding="utf-8"?><paths xmlns:androID="http://schemas.androID.com/apk/res/androID"> <!--代表外部存储区域的根目录下的文件 Environment.getExternalStorageDirectory()/DCIM/camerademo目录--> <external-path name="ymp" path="pic/" /> <root-path path="" name="camera_photos" /></paths>
2、在MainActivity中的配置 ImageVIEw pic; TextVIEw text; button gray; public static final String TAG="MainActivity"; public static final int TAKE_POTHO=1; private Uri uri; @OverrIDe public voID onClick(VIEw v) { //convert2Gray(); //ocrnormal(); String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); file outimage=new file(getExternalCacheDir(),timeStamp+"output_image.jpg"); try{ if(outimage.exists()) { outimage.delete(); } outimage.createNewfile(); } catch (IOException e) { e.printstacktrace(); } if(Build.VERSION.SDK_INT>=24) { uri= fileProvIDer.getUriForfile(MainActivity.this,"com.example.demo_tryopencv_2.fileprovIDer",outimage); } else { uri=Uri.fromfile(outimage); } Intent intent=new Intent("androID.media.action.IMAGE_CAPTURE"); intent.putExtra(MediaStore.EXTRA_OUTPUT,uri); startActivityForResult(intent,TAKE_POTHO); } }); ///////////////////////////////////////////////////////////////////////////////// } /** * 拍照 */ @OverrIDe protected voID onActivityResult(int requestCode,int resultCode,Intent data) { super.onActivityResult(requestCode,resultCode,data); switch (requestCode) { case TAKE_POTHO: if(resultCode==RESulT_OK) { try{ Bitmap bitmap= BitmapFactory.decodeStream(getContentResolver().openinputStream(uri)); pic.setimageBitmap(bitmap); }catch (fileNotFoundException e) { e.printstacktrace(); } } break; default: break; } }
点赞收藏分享文章举报云南白花发布了21 篇原创文章 · 获赞 5 · 访问量 1598私信 关注 总结
以上是内存溢出为你收集整理的android 调用摄像头全部内容,希望文章能够帮你解决android 调用摄像头所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)