我想實現從用戶第一次使用我的應用程序請求運行時權限。這裏是代碼:找不到方法android.app.Activity.checkSelfPermission
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M) {
if ((ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) &&
(ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED)) {
new masterdb(getApplicationContext());
new checkRegistration().execute();
} else {
}
} else {
//initialize database
}
但我的應用程序崩潰與應用程序沒有響應。該logcat的說明是這樣的:
找不到方法android.app.Activity.checkSelfPermission,從方法myPackageName.Lib.hasPermission 11月9日至16日引用:46:54.969 3763-3763/myPackageName W/dalvikvm :VFY:無法解析虛方法170:Landroid /應用/活動; .checkSelfPermission(Ljava /朗/字符串;)我
的東西在這裏,這段代碼應該不能運行(檢查許可)在Android Kitkat。但我仍然得到這個日誌。當我將代碼移出sdk版本的if塊時,請檢查它是否正常運行。
我也得到相同的警告......你有沒有找到任何解決方案? –
使用ContextCompat代替ActivityCompat解決了我的問題 –