ホームページ >Java >&#&チュートリアル >Android で実行時の位置情報のアクセス許可をリクエストするにはどうすればよいですか?

Android で実行時の位置情報のアクセス許可をリクエストするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-14 12:58:11458ブラウズ

How to Request Runtime Location Permissions in Android?

実行時に位置情報の許可をリクエストする方法

コード内で、位置情報の許可を正しく確認し、許可がない場合に対処します。付与された。ただし、実行時に実際に権限をリクエストするには、ActivityCompat.requestPermissions を使用する必要があります。

修正された MainActivity は次のとおりです:

public class MainActivity extends AppCompatActivity implements LocationListener {

    // ... (rest of your code)

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED ||
            ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, PERMISSION_REQUEST_CODE);
        } else {
            // Permissions already granted
            // ...
        }
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);

        if (requestCode == PERMISSION_REQUEST_CODE) {
            if (grantResults[0] == PackageManager.PERMISSION_GRANTED && grantResults[1] == PackageManager.PERMISSION_GRANTED) {
                // Permissions granted
                // ...
            } else {
                // Permissions denied
                // ...
            }
        }
    }

    // ... (rest of your code)

}

ここで、PERMISSION_REQUEST_CODE は、簡単に参照できるように定義できる整数定数です。許可リクエスト。

追加考慮事項

  • AndroidManifest.xml ファイルに位置情報のアクセス許可を必ず追加してください:
<manifest ...>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
</manifest>
  • ライブラリでこの問題が発生した場合プロジェクトでは、ライブラリの AndroidManifest.xml ファイルで権限を次のように宣言してください。

以上がAndroid で実行時の位置情報のアクセス許可をリクエストするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。