我已经加入uses-permission包括WRITE_EXTERNAL_STORAGE,MOUNT_UNMOUNT_FILESYSTEMS,READ_EXTERNAL_STORAGE来AndroidManifest.xml.
当我尝试在Nexus5(Android 6.0)中运行我的应用程序时,它抛出了一个异常,如下所示:
java.io.IOException: open failed: EACCES (Permission denied)
我尝试了另一款Android手机(Android 5.1),一切都很好.这是代码:
private File createImageFile() throws IOException {
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
String imageFileName = "JPEG_" + timeStamp + "_";
File storageDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
File image = File.createTempFile(imageFileName, ".jpg", storageDir);
currentPhotoPath = image.getAbsolutePath();
return image;
}
Run Code Online (Sandbox Code Playgroud)
Android 6.0在许可方面有区别吗?
我的应用程序在Nexus5(Android6.0)中运行时出错.
错误是
java.lang.RuntimeException:无法连接到摄像头服务
我已将权限添加到AndroidManifest.xml.
但该应用程序可以使用另一部手机(Android5.1)和genymotion AVD(Android 4.0).
关键代码如下
@Override
public void onResume() {
super.onResume();
try {
mCamera = Camera.open();
}catch (Exception e){
Log.e(TAG,"open camera failed",e);
}
}
Run Code Online (Sandbox Code Playgroud)