Java 使用相机的许可
为什么应用程序在安装过程中不请求使用摄像头的许可 舱单:Java 使用相机的许可,java,android,Java,Android,为什么应用程序在安装过程中不请求使用摄像头的许可 舱单: <uses-feature android:name="android.hardware.camera" android:required="true"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permissi
<uses-feature android:name="android.hardware.camera"
android:required="true"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
有两种类型的权限
正常权限不需要向用户询问
需要询问危险的权限
在你的舱单中有3个危险的许可
处理结果
@Override
public void onRequestPermissionsResult(int requestCode,
String permissions[], int[] grantResults) {
switch (requestCode) {
case 1: {
// If request is cancelled, the result arrays are empty.
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// permission was granted, yay! Do the
// contacts-related task you need to do.
} else {
// permission denied, boo! Disable the
// functionality that depends on this permission.
Toast.makeText(MainActivity.this, "Permission denied", Toast.LENGTH_SHORT).show();
}
return;
}
// other 'case' lines to check for other
// permissions this app might request
}
}
提示:
如果您不想在不同的类中为请求权限编写太多代码。使用一些图书馆。像
我使用RxPermissions。它提供了简单的功能
rxPermissions
.request(Manifest.permission.CAMERA)
.subscribe(granted -> {
if (granted) { // Always true pre-M
// I can control the camera now
} else {
// Oups permission denied
}
});
看
更多信息:尝试添加以下内容:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
如果您的应用程序使用GPS位置信息标记图像,则必须请求访问位置权限 发布您的声明如果您的设备是棉花糖及以上,则运行时权限适用于阅读
rxPermissions
.request(Manifest.permission.CAMERA)
.subscribe(granted -> {
if (granted) { // Always true pre-M
// I can control the camera now
} else {
// Oups permission denied
}
});
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />