[使用する権限]

提供: RAD Studio
移動先: 案内検索

[アプリケーション]オプション への移動

プロジェクト > オプション... > アプリケーション > 使用する権限

このダイアログ ボックスを使用すると、Android アプリケーションが動作するために必要な権限を指定することができます。RAD Studio は、AndroidManifest.xml ファイルで指定された権限を追加します。

注意: Android アプリケーションに構成されている権限のリストは慎重に確認してください。アプリケーションに必要のない権限は無効にするべきです。理由は以下のとおりです:

  • Android デバイスでは、初めてアプリケーションを実行した際に、要求された権限ごとにユーザーにそれを受け入れるかを確認するメッセージを出力します。
  • Google Play などのアプリケーション ストアで、権限によってアプリケーションが除外される可能性があります。
  • たとえば、アプリケーションに電話を発信する権限が必要だった場合(デフォルトで必要)、アプリケーション ストアは、ユーザーがそのアプリケーションをタブレットにインストールできないように制限する可能性があります。

以下に例を挙げます。

  • InterBase ではいくつかの権限が必要です。
    • [インターネット]: アプリケーションでネットワーク ソケットにアクセスできるようにします。リモートの InterBase データベースにアクセスするクライアント/サーバー アプリケーションを構築している場合には、この権限は必須です。また、メッセージを出さずにライセンス登録を行う InterBase の "CALL HOME" 機能でもこの権限が必要です。
    • [外部ストレージの読み取り]/[外部ストレージへの書き込み]: InterBase ファイル(データベース ファイルを含む)が配布されている外部ストレージの場所にアクセスできるようにします。この権限は、読み書き操作を実行するアプリケーションに必要です。
  • Some FireMonkey components require certain permissions. For example:
    • TCalendarEdit には、カレンダーの読み込み および カレンダーの書き込み の権限が必要です。
    • TLocationSensor では、おおよその位置情報へのアクセス および 詳細な位置情報へのアクセス の権限が必要です。

一部の基本的な Android 権限はすべての FireMonkey Android アプリケーションに設定される

新規作成された Android アプリケーションには、以下の必要な権限がデフォルトで設定されています。

開発構成の場合には[インターネット]権限が常に設定される

Android アプリケーションでは、いくつかの使用する権限がデフォルトで設定されています([インターネット] 権限など)。

  • Android アプリケーションを[構成]を Development に設定(プロジェクト マネージャにて)してビルドすると、[インターネット]権限は常に暗黙の内に設定されます。これは、[インターネット]権限が[使用する権限]で無効に設定されていても変わりません。 これは、RAD Studio デバッガにインターネット アクセス権限が必要だからです。
  • ただし、[アプリケーション ストア]設定の場合は、[プロジェクト|オプション...|使用する権限]を使って、[インターネット]権限を無効にすることができます。

以下の図は、[プロジェクト マネージャ]で Android アプリケーションに[Development]構成ノードが設定されているところです。

ConfigProjMgrAndroid.png

ダイアログ ボックスのフィールドの説明

オプション 説明

[ターゲット]、[適用...]、[保存...]

[ターゲット]オプション」を参照。

共通項目

[プロジェクト オプション]ページの共通項目|[プロジェクト オプション]ページの共通項目」を参照。

使用する権限

以下の使用権限は、ほとんどの Android アプリケーションで必要に応じて使用することができます。非常によく使用される基本の権限の一部は Android アプリケーションの新規作成時に RAD Studio によってあらかじめ設定されます。

基本の使用権限

権限のシンボル 権限 説明

ACCESS_LOCATION_EXTRA_COMMANDS

[位置情報プロバイダ追加コマンドへのアクセス]

位置情報プロバイダの追加コマンドにアプリケーションからアクセスできるようにします。

ACCESS_NETWORK_STATE

[ネットワーク状態へのアクセス]

ネットワークに関する情報にアプリケーションからアクセスできるようにします。

ACCESS_NOTIFICATION_POLICY

[通知ポリシーへのアクセス]

通知ポリシーにアクセスしたいアプリケーションに対するマーカー権限です。

ACCESS_WIFI_STATE

[Wi-Fi 状態へのアクセス]

Wi-Fi ネットワークに関する情報にアプリケーションからアクセスできるようにします。

BATTERY_STATS

[電池の統計情報]

電池の統計データをアプリケーションで収集できるようにします。

BLUETOOTH

[Bluetooth]

一組の Bluetooth デバイスにアプリケーションから接続できるようにします。

BLUETOOTH_ADMIN

[Bluetooth 管理]

アプリケーションで Bluetooth デバイスを検出しペアにすることができるようにします。

BROADCAST_STICKY

[スティッキー インテントのブロードキャスト]

スティッキー インテントをアプリケーションからブロードキャストできるようにします。これらは、完了後にデータがシステムに保持されるブロードキャストなので、クライアントでは、次回のブロードキャストを待たずにそのデータをすぐに取得できます。

CHANGE_CONFIGURATION

[構成の変更]

ロケールなどの現在の構成をアプリケーションで変更できるようにします。

CHANGE_NETWORK_STATE

[ネットワーク接続状態の変更]

ネットワークの接続状態をアプリケーションで変更できるようにします。

CHANGE_WIFI_MULTICAST_STATE

[Wi-Fi マルチキャスト状態の変更]

アプリケーションで Wi-Fi マルチキャスト モードに入ることができるようにします。

CHANGE_WIFI_STATE

[Wi-Fi 状態の変更]

Wi-Fi の接続状態をアプリケーションで変更できるようにします。

DISABLE_KEYGUARD

[キーロックの無効化]

キーロックをアプリケーションで無効にできるようにします。

EXPAND_STATUS_BAR

[ステータス バーの展開]

ステータス バーをアプリケーションで展開するまたは折りたたむことができるようにします。

FLASHLIGHT

[フラッシュ ライトの制御]

フラッシュ ライトにアクセスできるようにします。

FOREGROUND_SERVICE

[フォアグラウンド サービス]

インスタント アプリケーションがフォアグラウンド サービスを作成できるようにします。

GET_PACKAGE_SIZE

[パッケージ サイズの取得]

任意のパッケージの使用領域をアプリケーションで特定できるようにします。

GET_TASKS

[タスク情報の取得]

現在実行中または最近実行したタスクに関する情報をアプリケーションで取得できるようにします。

GLOBAL_SEARCH

[グローバル検索]

特定のコンテンツ プロバイダのデータにグローバル検索システムからアクセスできるようにします。 通常、[グローバル検索]を使用するのはプロバイダによって何らかの権限(グローバル検索が持っていないと思われる権限)でデータが保護されている場合で、グローバル検索はグローバル検索クエリが実行されるプロバイダのパスに読み取り専用の権限として追加されます。[グローバル検索]権限は、通常のアプリケーションに持たせることはできません。これは、グローバル検索以外の他のすべてのアプリケーションからアプリケーション自体を保護するためにアプリケーションが使用するものです。

INSTALL_SHORTCUT

[ショートカットのインストール]

アプリケーションがランチャーでショートカットをインストールできるようにします。

Android O (API レベル 26) 以降では、INSTALL_SHORTCUT ブロードキャストは、アプリケーションに対して何の機能もしません。これは、それがプライベートの暗黙的ブロードキャストだからです。代わりに、ShortcutManager クラスの requestPinShortcut() メソッドを使用して、アプリケーション ショートカットを作成する必要があります。

INSTANT_APP_FOREGROUND_SERVICE

[インスタント アプリケーションのフォアグラウンド サービス]

インスタント アプリケーションがフォアグラウンド サービスを作成できるようにします。

Internet

[インターネット]

ネットワーク ソケットをアプリケーションで開くことができるようにします。

KILL_BACKGROUND_PROCESSES

[バックグラウンド プロセスの強制終了]

アプリケーションから killBackgroundProcesses(String) を呼び出せるようにします。

MANAGE_OWN_CALLS

[自分の呼び出しの管理]

自己管理 ConnectionService API を介して自分の呼び出しを呼び出し側アプリケーションが管理できるようにします。

MODIFY_AUDIO_SETTINGS

[音声設定の変更]

音声全般の設定をアプリケーションで変更できるようにします。

[NFC]

[NFC]

アプリケーションで NFC を介して入出力操作を実行できるようにします。

NFC_TRANSACTION_EVENT

[NFC トランザクション イベント]

アプリケーションで NFC トランザクション イベントを受け取れるようにします。

PACKAGE_USAGE_STATS

[パッケージ使用の統計情報]

アプリケーションで、コンポーネントの使用統計情報を収集できるようにします。

権限を宣言するということは、暗に API の利用することを示しており、デバイスのユーザーは、設定アプリケーションを介して権限を付与できます。

READ_GSERVICES

[GServices の読み取り]

READ_SYNC_SETTINGS

[同期設定の読み取り]

同期設定をアプリケーションで読み取ることができるようにします。

READ_SYNC_STATS

[同期統計情報の読み取り]

同期統計情報をアプリケーションで読み取ることができるようにします。

RECEIVE_BOOT_COMPLETED

[起動完了インテントの受信]

システムによるブートの完了後にブロードキャストされる ACTION_BOOT_COMPLETED インテントをアプリケーションで受信できるようにします。

REORDER_TASKS

[タスクの順序変更]

タスクの Z 順序(Z オーダー)をアプリケーションで変更できるようにします。

REQUEST_COMPANION_RUN_IN_BACKGROUND

[バックグラウンドでの比較実行の要求]

比較アプリケーションがバックグラウンド実行できるようにします。

REQUEST_COMPANION_USE_DATA_IN_BACKGROUND

[バックグラウンドでの使用データの比較の要求]

比較アプリケーションがバックグラウンドでデータを使用できるようにします。

REQUEST_DELETE_PACKAGES

[パッケージ削除の要求]

アプリケーションでパッケージ削除の要求ができるようにします。API の Build.VERSION_CODES.P 以上をターゲットとしているアプリケーションは、Intent.ACTION_UNINSTALL_PACKAGE または PackageInstaller.uninstall(VersionedPackage, IntentSender) を使用するために、この権限を保持していなければなりません。

REQUEST_IGNORE_BATTERY_OPTIMIZATIONS

[バッテリーの最適化の無視を要求する]

アプリケーションが Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS を使用するために保持しておかなければならない権限です。これは基本な権限で、これを要求したアプリケーションは、ユーザーが承認したり確認したりする必要なく、常に権限が付与されます。

SET_ALARM

[アラームの設定]

ユーザーのアラームを設定するインテントをアプリケーションからブロードキャストできるようにします。

SET_WALLPAPER

[壁紙の設定]

壁紙をアプリケーションで設定できるようにします。

SET_WALLPAPER_HINTS

[壁紙ヒントの設定]

壁紙ヒントをアプリケーションで設定できるようにします。

SUBSCRIBED_FEEDS_READ

[購読フィードの読み取り]

購読しているフィードの ContentProvider にアプリケーションからアクセスできるようにします。

TRANSMIT_IR

[IR の送信]

デバイスの IR 送信機能の使用を可能にする(その機能がある場合)

USE_BIOMETRIC

[バイオメトリックの使用]

アプリケーションでデバイスがサポートしているバイオメトリック モダリティを使用できるようにします。

USE_FINGERPRINT

[指紋の使用]

アプリケーションで指紋認証ハードウェアを使用できるようにします。

VENDING_BILLING

[販売課金 (アプリ内課金)]

アプリ内課金サービスを使用できるようにします。詳細については、Android のドキュメントを参照してください。

VIBRATE

[バイブレーション]

バイブレータにアクセスできるようにします。

WAKE_LOCK

[WakeLock]

PowerManager.WakeLock を使用して、プロセッサのスリープや画面の暗転を避けることができるようにします。

WRITE_SYNC_SETTINGS

[同期設定の書き込み]

同期設定をアプリケーションで書き込むことができるようにします。

WRITE_USER_DICTIONARY

[ユーザー辞書への書き込み]

アプリケーションでユーザー辞書に書き込むことができるようにします。

上記の表の説明欄にある記述は、Apache 2.0 のライセンス規定の基に提供されたものです。Copyright © Android Open Source Project.

注意の必要な使用権限

次の使用権限には、実行時のユーザーの承認が必要となります。

権限のシンボル 権限 説明

ACCESS_COARSE_LOCATION

[おおよその位置情報へのアクセス]

携帯電話基地局や Wi-Fi などのネットワーク位置情報源から得られるおおよその位置情報にアプリケーションからアクセスできるようにします。

ACCESS_FINE_LOCATION

[詳細な位置情報へのアクセス]

GPS、携帯電話基地局、Wi-Fi などの位置情報源から得られる正確な位置情報にアプリケーションからアクセスできるようにします。

ACCESS_MOCK_LOCATION

[模擬位置情報へのアクセス]

テスト用の模擬位置情報プロバイダをアプリケーションで作成できるようにします。

ADD_VOICEMAIL

[ボイスメールの追加]

アプリケーションでシステムにボイスメールを追加できるようにします。

ANSWER_PHONECALLS

[電話への応答]

アプリケーションで着信した電話に応答できるようにします。

AUTHENTICATE_ACCOUNTS

[アカウントの認証]

アプリケーションが AccountManager の AccountAuthenticator として機能できるようにします。

BODY_SENSORS

[ボディ センサ]

アプリケーションで、ユーザーが彼/彼女の身体の状態を測定するために使用するセンサからのデータ(心拍数など)にアクセスできるようにします。

CALL_PHONE

[電話の自動発信]

ダイヤラ ユーザー インターフェイスを介してユーザー側で発信を確認せずに、アプリケーションから電話を自動発信できるようにします。

カメラ

[カメラ]

カメラ デバイスにアクセスできるようにするために必要です。

CONTINUE_A_CALL_STARTED_IN_ANOTHER_APP

[別のアプリケーションで開始された電話の継続]

呼び出し側アプリケーションで別のアプリケーションで開始された電話を継続できるようにします。たとえば、引き続きユーザーのモバイル ネットワーク上で音声通話を継続したい、ビデオ通話アプリなどです。

GET_ACCOUNTS

[アカウントの取得]

アカウント サービスで管理されているアカウントのリストにアクセスできるようにします。

MANAGE_ACCOUNTS

[アカウントの管理]

AccountManager で管理されているアカウントのリストをアプリケーションで管理できるようにします。

PROCESS_OUTGOING_CALLS

[電話発信の処理]

電話の発信をアプリケーションで監視、変更、または中止できるようにします。

READ_CALENDAR

[カレンダーの読み取り]

ユーザーのカレンダー データをアプリケーションで読み取ることができるようにします。

READ_CALL_LOG

[通話履歴の読み取り]

ユーザーの通話履歴をアプリケーションで読み取ることができるようにします。

READ_CONTACTS

[連絡先の読み取り]

ユーザーの連絡先データをアプリケーションで読み取ることができるようにします。

READ_EXTERNAL_STORAGE

[外部ストレージ読み込み]

アプリケーションで外部ストレージから読み取ることができるようにします。

READ_HISTORY_BOOKMARKS

[閲覧履歴とブックマークの読み取り]

ユーザーの閲覧履歴とブックマークをアプリケーションで書き込むことができるようにします(読み取りは不可)。

READ_PHONE_NUMBERS

[電話番号の読み取り]

デバイスの電話番号への読み取りアクセスを許可します。これは、READ_PHONE_STATE で付与される機能のサブセットですが、インスタント アプリケーションへ公開されます。

READ_PHONE_STATE

[電話機能の状態の読み取り]

電話機能の状態に読み取り専用でアクセスできるようにします。

READ_PROFILE

[プロフィールの読み取り]

ユーザーの個人プロフィール データをアプリケーションで読み取ることができるようにします。

READ_SMS

[SMS メッセージの読み取り]

SMS メッセージをアプリケーションで読み取ることができるようにします。

READ_SOCIAL_STREAM

[ソーシャル ストリームの読み取り]

アプリケーションでユーザーのソーシャル ストリームから読み取ることができるようにします。

READ_USER_DIRECTORY

[ユーザー辞書の読み取り]

ユーザー辞書をアプリケーションで読み取ることができるようにします。

RECEIVE_BOOT_COMPLETED

[起動完了インテントの受信]

システムによるブートの完了後にブロードキャストされる ACTION_BOOT_COMPLETED インテントをアプリケーションで受信できるようにします。

RECEIVE_SMS

[MMS メッセージの受信]

着信する MMS メッセージをアプリケーションで監視して記録または処理できるようにします。

RECEIVE_WAP_PUSH

[WAP PUSH メッセージの受信]

着信する WAP PUSH メッセージをアプリケーションで監視できるようにします。

RECORD_AUDIO

[音声の録音]

音声をアプリケーションで録音できるようにします。

SEND_SMS

[SMS メッセージの送信]

SMS メッセージをアプリケーションで送信できるようにします。

SUBSCRIBED_FEEDS_WRITE

[購読フィードへの書き込み]

購読しているフィードの ContentProvider にアプリケーションから書き込みできるようにします。

UNINSTALL_SHORTCUT

[ショートカットのアンインストール]

アプリケーションでこの権限は使用しないでください。

この権限は今後サポートされません。

USE_CREDENTIALS

[資格情報の使用]

アプリケーションから AccountManager に認証トークンを要求できるようにします。

USE_SIP

[SIP サービスの使用]

SIP サービスをアプリケーションで使用できるようにします。

WRITE_CALENDAR

[カレンダーの書き込み]

ユーザーのカレンダー データをアプリケーションで書き込むことができるようにします(読み取りは不可)。

WRITE_CALL_LOG

[通話履歴の書き込み]

ユーザーの連絡先データをアプリケーションで書き込むことができるようにします(読み取りは不可)。

WRITE_CONTACTS

[連絡先の書き込み]

ユーザーの連絡先データをアプリケーションで書き込むことができるようにします(読み取りは不可)。

WRITE_EXTERNAL_STORAGE

[外部ストレージ書き込み]

アプリケーションで外部ストレージに書き込むことができるようにします。

WRITE_HISTORY_BOOKMARKS

[閲覧履歴とブックマークの書き込み]

ユーザーの閲覧履歴とブックマークをアプリケーションで書き込むことができるようにします(読み取りは不可)。

WRITE_PROFILE

[プロフィールの書き込み]

ユーザーの個人プロフィール データをアプリケーションで書き込むことができるようにします(読み取りは不可)。

WRITE_SMS

[SMS メッセージの書き込み]

SMS メッセージをアプリケーションで書き込むことができるようにします。

WRITE_SOCIAL_STREAM

[ソーシャル ストリームへの書き込み]

ユーザーのソーシャル ストリーム データをアプリケーションで書き込むことができるようにします(読み取りは不可)。

上記の表の説明欄にある記述は、Apache 2.0 のライセンス規定の基に提供されたものです。Copyright © Android Open Source Project.

署名関連のユーザー権限

次の使用権限には、マッチング認証が必要となります。

権限のシンボル 権限 説明</center>

BIND_ACCESSIBILITY_SERVICE

[アクセシビリティ サービスのバインド]

このサービスにバインドできるのはシステムのみであることを保証するために AccessibilityService から要求される権限です。

BIND_AUTOFILL_SERVICE

[自動入力のバインド]

AutofillService で必須。システムがそれに唯一バインドできることを保証するために必須です。

BIND_CALL_SCREENING_SERVICE

[呼び出し表示サービスのバインド]

CallScreeningService で必須。システムがそれに唯一バインドできることを保証するために必須です。

BIND_CARRIER_MESSAGING_SERVICE

[キャリア メッセージ サービスのバインド]

この定数は API レベル 23 では廃止予定です。

代わりに BIND_CARRIER_SERVICES を使用してください。

BIND_CARRIER_SERVICES

[バインド キャリア サービス]

キャリア アプリケーションでサービスにバインド可能なシステム プロセスが、この権限を持ちます。キャリア アプリケーションはこの権限を使用して、システムのみがバインド可能なサービスを保護します。

BIND_CHOOSER_TARGET_SERVICE

[選択対象サービスのバインド]

ChooserTargetService で必須。システムがそれに唯一バインドできることを保証するために必須です。

BIND_CONDITION_PROVIDER_SERVICE

[条件プロバイダ サービスのバインド]

ConditionProviderService で必須。システムがそれに唯一バインドできることを保証するために必須です。

BIND_DEVICE_ADMIN

[デバイス管理者のバインド]

このレシーバとやり取りできるのはシステムのみであることを保証するためにデバイス管理レシーバから要求される権限です。

BIND_DREAM_SERVICE

[ドリーム サービスのバインド]

DreamService で必須。システムがそれに唯一バインドできることを保証するために必須です。

BIND_INCALL_SERVICE

[通話中サービスのバインド]

InCallService で必須。システムがそれに唯一バインドできることを保証するために必須です。

BIND_INPUT_METHOD

[インプット メソッドのバインド]

このサービスにバインドできるのはシステムのみであることを保証するために InputMethodService から要求される権限です。

BIND_MIDI_DEVICE_SERVICE

[MIDI デバイス サービスのバインド]

MidiDeviceService で必須。システムがそれに唯一バインドできることを保証するために必須です。

BIND_NFC_SERVICE

[NFC サービスのバインド]

HostApduService または OffHostApduService で必須。システムがそれに唯一バインドできることを保証するために必須です。

BIND_NOTIFICATION_LISTENER_SERVICE

[通知リスナ サービスのバインド]

NotificationListenerService で必須。システムがそれに唯一バインドできることを保証するために必須です。

BIND_PRINT_SERVICE

[出力サービスのバインド]

PrintService で必須。システムがそれに唯一バインドできることを保証するために必須です。

BIND_QUICK_SETTINGS_TILE

[クイック設定タイルのバインド]

アプリケーションでサードパーティのクイック設定タイルにバインドできるようにします。



これはシステムからのみ要求可能。TileService 宣言によって必要となります。

BIND_REMOTEVIEWS

[リモート ビューのバインド]

このサービスにバインドできるのはシステムのみであることを保証するために RemoteViewsService から要求される権限です。

BIND_TELECOM_CONNECTION_SERVICE

[通信接続サービスのバインド]

ConnectionService で必須。システムがそれに唯一バインドできることを保証するために必須です。

BIND_TEXT_SERVICE

[テキスト サービスのバインド]

TextService から要求される権限です。

BIND_TV_INPUT

[TV 入力のバインド]

TvInputService で必須。システムがそれに唯一バインドできることを保証するために必須です。

BIND_VISUAL_VOICEMAIL_SERVICE

[ビジュアル ボイスメール サービスのバインド]

リンク VisualVoicemailService で必須。システムがそれに唯一バインドできることを保証するために必須です。

BIND_VOICE_INTERACTION

[音声対応のバインド]

VoiceInteractionService で必須。システムがそれに唯一バインドできることを保証するために必須です。

BIND_VPN_SERVICE

[VPN サービスのバインド]

このサービスにバインドできるのはシステムのみであることを保証するために VpnService から要求される権限です。

BIND_VR_LISTENER_SERVICE

[VRリスナ サービスのバインド]

VrListenerService で必須。システムがそれに唯一バインドできることを保証するために必須です。

BIND_WALLPAPER

[壁紙のバインド]

このサービスにバインドできるのはシステムのみであることを保証するために WallpaperService から要求される権限です。

CLEAR_APP_CACHE

[アプリケーション キャッシュのクリア]

デバイスにインストールされているすべてのアプリケーションのキャッシュをアプリケーションでクリアできるようにします。

MANAGE_DOCUMENTS

[ドキュメントの管理]

アプリケーションでドキュメントへのアクセスを管理できるようにします。通常はドキュメント ピッカーの一部として行います。



この権限は、プラットフォーム ドキュメント管理アプリケーションからのみ要求可能です。この権限は、サードパーティ アプリケーションには付与できません。

READ_VOICEMAIL

[ボイスメールの読み取り]

アプリケーションでシステム内のボイスメールを読み取ることができるようにします。

REQUEST_INSTALL_PACKAGES

[パッケージ インストールの要求]

アプリケーションでパッケージ インストールの要求ができるようにします。 API 25 以降を対象とするアプリケーションでは、Intent.ACTION_INSTALL_PACKAGE を使用するためにこの権限を保持しておかなければなりません。

SYSTEM_ALERT_WINDOW

[システム警告ウィンドウ]

TYPE_SYSTEM_ALERT タイプを使用するウィンドウ(他のあらゆるアプリケーションより前面に表示される)をアプリケーションで開くことができるようにします。

WRITE_SETTINGS

[システム設定への書き込み]

システム設定をアプリケーションで読み書きできるようにします。

WRITE_VOICEMAIL

[ボイスメールの書き込み]

アプリケーションでシステム内の既存のボイスメールの修正と削除ができるようにします。

上記の表の説明欄にある記述は、Apache 2.0 のライセンス規定の基に提供されたものです。Copyright © Android Open Source Project.

関連項目