1.Cannot resolve symbol CAMERA,如下图,这个很坑爹,会让人误以为是没有camera这个权限,实际上是因为没有引入import android.Manifest;的原因。

2.报错:Permission Denial ...with revoked permission android.permission.CAMERA
解决办法见:http://stackoverflow.com/questions/32789027/android-m-camera-intent-permission-bug
其中第二个帖子的办法
if(checkSelfPermission(Manifest.permission.CAMERA)!=PackageManager.PERMISSION_GRANTED){requestPermissions(newString[]{Manifest.permission.CAMERA},MY_REQUEST_CODE);}
@OverridepublicvoidonRequestPermissionsResult(intrequestCode,@NonNullString[]permissions,@NonNullint[]grantResults){super.onRequestPermissionsResult(requestCode,permissions,grantResults);if(requestCode==MY_REQUEST_CODE){if(grantResults[0]==PackageManager.PERMISSION_GRANTED){// Now user should be able to use camera}else{// Your app will not have this permission. Turn off all functions// that require this permission or it will force close like your// original question}}}
不过对于6.0的系统,如果在AndroidManifest.xml定义了camera权限还是会报错,要么删除camera权限,不过这可能会有隐患,要么就按照第一个帖子的办法
if(hasPermissionInManifest(AddLive.this,Manifest.permission.CAMERA)){
toCamera();
}else{
ActivityCompat.requestPermissions(AddLive.this,
new String[]{Manifest.permission.CAMERA},
1);
}