0
當我將targetSDK更改爲大於22時,編譯器不允許直接使用權限。權限必須由用戶來提供,我不得不使用下面的代碼:即使在添加所有庫後仍未找到類「android.support.v4.content.ContextCompat」
if(ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
MY_PERMISSSIONS_REQUEST_FINE_LOCATION);
}
但我不斷收到以下錯誤
Didn't find class "android.support.v4.content.ContextCompat"
我添加了所有必需的文件ContextCompat和ActivityCompat但我每次都會收到這個錯誤。這是我的build.gradle
[編輯]添加整個文件的gradle
apply plugin: 'com.android.library'
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
minSdkVersion 15
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:25.2.0'
compile files('libs/classes.jar')
compile 'com.android.support:support-v4:25.2.0'
}
//task to delete the old jar
task deleteOldJar(type: Delete) {
delete '/Users/kushagragupta/Desktop/Kushagra/STURFEE/Sturfee.Unity.Mobile.IMUGPSTest/Assets/AndroidPlugin.jar'
}
//task to export contents as jar
task exportJar(type: Copy) {
from('build/intermediates/bundles/release/')
into('/Users/kushagragupta/Desktop/Kushagra/STURFEE/Sturfee.Unity.Mobile.IMUGPSTest/Assets/')
include('classes.jar')
///Rename the jar
rename('classes.jar', 'AndroidPlugin.jar')
}
exportJar.dependsOn(deleteOldJar, build)
我一直停留在這一點,因爲最後2天並不知道還有什麼可以解決這個問題。
如何使用'ActivityCompat'來檢查權限,它是否會拋出相同的錯誤(ActivityCompat是一個直接的子類)? https://developer.android.com/reference/android/support/v4/app/ActivityCompat.html –
顯示整個應用程序gradle文件 –
編輯@DanielNugent – Kushagra