我知道Android 6.0有新的权限,我知道我可以用这样的东西来调用它们
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) !=
PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
new String[] {
Manifest.permission.WRITE_EXTERNAL_STORAGE
}, PERMISSION_WRITE_STORAGE);
}
Run Code Online (Sandbox Code Playgroud)
今天我看到了一个需要3个权限的Google应用:联系人,短信和相机.它正在制作第1-3页并同时将它们全部调用以激活.
任何人都可以告诉我如何调用4个权限同时激活短信,相机,联系人和存储?
示例(忘记了谷歌应用程序的名称:()
该应用程序需要短信,联系人和相机
应用程序问我(并进行了对话框1-3)激活短信,激活联系人,然后是相机.所以这个谷歌应用程序一起调用所有3个必需的权限,我的问题是我怎么能得到相同的?
java permissions android android-permissions android-6.0-marshmallow
我已经加入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在许可方面有区别吗?
我目前正致力于手电筒开/关.我收到此错误java.lang.RuntimeException: Fail to connect to camera service我不知道为什么会发生此错误.我提到了许多解决方案,但我的问题仍未解决.当手电筒打开时,不会发生错误,但是当手电筒关闭时则会发生错误.
我的代码主要代码.
我的清单许可:
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus"/>
Run Code Online (Sandbox Code Playgroud)