在Android 6.0以后,若要使用Camera,除了要在AndroidManifest.xml里面添加权限外,还需要在代码中判断并动态添加权限,询问用户是否分配权限给该应用。
AndroidManifest.xml
<uses-permission android:name="android.permission.CAMERA" />
代码中,在调用Camera.open()之前:
//添加权限
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA)
== PackageManager.PERMISSION_GRANTED) {
System.out.println("ok");
}else {
ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.CAMERA},1);
}
//打开照相机
camera = Camera.open();