Android アプリで実行時の権限取得する方法

Androidアプリケーションで実行時の権限をリクエストするには、以下の手順を実行します。

  1. AndroidManifest.xml ファイルで、アプリケーションが必要とする権限を宣言します。例えば、カメラの使用権限を取得する場合、以下のように宣言します。
<uses-permission android:name="android.permission.CAMERA" />
  1. 実行時に権限をリクエストするために、権限が必要な箇所でランタイムパーミッションを要求します。例えば、カメラを使用する場合、以下のようなコードを使用します。
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
    ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, REQUEST_CODE);
}
  1. ユーザーが権限リクエストに対して応答すると、onRequestPermissionsResult() メソッドが呼び出されます。ユーザーが権限を許可した場合は、必要な処理を続行します。権限が許可されなかった場合は、適切なエラーメッセージを表示するなど、適切な処理を行います。

以上の手順を実行することで、Androidアプリケーションで実行時の権限をリクエストすることができます。

アプリケーションで特定の権限が付与されているかどうかを確認するには、以下のようなコードを使用します。

int permissionStatus = ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA);
if (permissionStatus == PackageManager.PERMISSION_GRANTED) {
    // 権限が付与されている場合の処理
} else {
    // 権限が付与されていない場合の処理
}

このコードでは、Manifest.permission.CAMERA の権限が付与されているかどうかを確認しています。もちろん、他の権限を確認する場合は、適切な権限名を使用してください。

Androidアプリケーションでリクエストできる一般的な権限には、以下のようなものがあります。

  • android.permission.CAMERA: カメラの使用
  • android.permission.READ_CONTACTS: 連絡先の読み取り
  • android.permission.WRITE_EXTERNAL_STORAGE: 外部ストレージへの書き込み
  • android.permission.ACCESS_FINE_LOCATION: 精密な位置情報へのアクセス
  • android.permission.RECORD_AUDIO: 音声の録音
  • android.permission.SEND_SMS: SMSの送信

これらは一部の例です。アプリケーションが必要とする具体的な権限は、アプリケーションの機能や目的によって異なります。

権限のリクエストには、それぞれの権限名を使用して要求する必要があります。先ほどのコード例でも、カメラの使用権限を要求するために Manifest.permission.CAMERA を使用しています。他の権限を要求する場合も、対応する権限名を使用してリクエストしてください。