私はAndroidで最後の既知の場所を取得しようとしています。 私はこれを持っています:シンボルを解決できませんContextCompat.checkSelfPermission()
public int permissionCheck = ContextCompat.checkSelfPermission(MainActivity.this,
Manifest.permission.ACCESS_FINE_LOCATION);
それは動作します。しかし、すぐに私が持っている:
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
これは動作しません。
Androidのスタジオは言う:
が、私は理由を理解していないシンボルcheckSelfPermission()
を解決できません。
は、おそらくあなたはthis' 'で匿名クラスを参照している、あなたは、'それを匿名内部クラスからthis'を使用している場合は、あなただけのMainActivity.this –
が必要その内部クラスを参照します。したがって、あなたは明示的に活動の参照を 'MainActivity.this'として使う必要があります。時には実行時のアクセス権を扱うのが難しい場合があります。そのためには、https://github.com/nabinbhandari/Android-Permissionsでライブラリを用意しました。このライブラリを試して時間を節約することができます。 ;) –
あなたのアクティビティはAppCompactActivityを拡張しますか? – CoXier