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

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

Barbara Streisand
Barbara Streisandオリジナル
2024-12-08 04:17:10373ブラウズ

How to Request Location Permissions at Runtime in Android?

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

あなたが直面している問題は、位置情報へのアクセスのアクセス許可を明示的にリクエストする必要があることです。これを解決するには、次の手順に従ってください:

  1. 権限の確認: ActivityCompat.checkSelfPermission() を使用して、アプリに必要な権限があるかどうかを確認します。
  2. アクセス許可のリクエスト: アクセス許可が付与されていない場合は、ActivityCompat.requestPermissions() を使用してユーザーにプロンプ​​トを表示します。
  3. ユーザー応答の処理: onRequestPermissionsResult() をオーバーライドしてユーザーの応答を処理します。権限が付与された場合は、位置情報関連のタスクを実行します。

権限リクエスト ロジックを組み込んだコードの更新バージョンは次のとおりです。

public class MainActivity extends AppCompatActivity implements LocationListener {

    private static final int REQUEST_LOCATION_PERMISSION = 10;

    // ... Other 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.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, REQUEST_LOCATION_PERMISSION);
            return;
        }

        // Perform location-related task if permission is granted
        // ...
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        switch (requestCode) {
            case REQUEST_LOCATION_PERMISSION: {
                if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                    // Permission granted, perform location-related task
                    // ...
                } else {
                    // Permission denied
                }
            }
        }
    }

    // ... Other methods ...
}

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

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