初めて私のアプリケーションを使用しているユーザーからの実行時アクセス許可を実装しようとしています。コードは次のとおりです。メソッドを見つけられませんでした。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は、このようなものを示しています
9月16日11メソッドmyPackageName.Lib.hasPermissionから参照する方法android.app.Activity.checkSelfPermission、見つかりませんでした:46:54.969 3763から3763/mypackagenameのW/dalvikvmを:VFY:仮想メソッド170解決することができませんでし:Landroid /アプリ/アクティビティ; .checkSelfPermission(Ljava/LANG /文字列;)私は
ここ
ことですが、このコードでも(権限のチェック)を実行するべきではありませんがアンドロイドKitkatで。しかし、私はまだこのログを取得します。私がsdkバージョンチェックのifブロックから自分のコードを移動すると、正常に動作します。
私も同じ警告を受けています...解決策は見つかりましたか? –
ActivityCompatの代わりにContextCompatを使用すると、私の問題を解決しました –