Мне нужно запросить разрешение камеры, но каким-то образом я не могу управлять им.
У меня есть следующая функция, которую я вызываю в моем методе onCreate:
public void checkCameraPermission() {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, PERMISSION_CAMERA);
}
}
Но Android Studio дает мне это сообщение Cannot resolve Symbol CAMERA
Я еще не начал соревнование.
В моем файле манифеста у меня есть следующие разрешения:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-feature android:name="android.hardware.camera2" />
<uses-feature android:name="android.hardware.camera.any" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-feature android:name="android.hardware.camera.flash" android:required="false" />
<uses-feature android:name="android.hardware.microphone" android:required="false" />
Есть идеи, как правильно запрашивать разрешение программно?
Мой Build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion '24.0.0'
useLibrary 'org.apache.http.legacy'
defaultConfig {
applicationId 'com.foo.var
minSdkVersion 22
targetSdkVersion 22
versionCode 5
versionName "1.2"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
}
compileOptions {
targetCompatibility 1.8
sourceCompatibility 1.8
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:24.1.1'
compile 'com.android.support:support-v4:24.1.1'
compile 'com.github.GrenderG:Toasty:1.2.5' // Toasty Class
compile 'com.jakewharton:butterknife:8.1.0'//Butterknife
annotationProcessor 'com.jakewharton:butterknife-compiler:8.1.0'
compile 'com.squareup.retrofit2:retrofit:2.3.0' // REST Call
compile 'com.squareup.retrofit2:converter-moshi:2.3.0'
compile 'com.squareup.retrofit2:converter-gson:2.3.0' // JSON Converter für Retrofit
compile 'com.basgeekball:awesome-validation:2.0'
compile 'com.github.apl-devs:appintro:v4.2.2' // AppIntro
compile 'com.github.KyleBanks:animated-line-graph-view:v1.0.1'
// constraint layout
compile 'com.android.support.constraint:constraint-layout:1.0.2'
// from webrtc sample ...
// compile 'com.pubnub:pubnub-android:3.7.4'
compile group: 'com.pubnub', name: 'pubnub-gson', version: '4.18.0'
compile 'io.pristine:libjingle:9694@aar'
compile project(':pnwebrtc')
}