コンテンツに移動

よくアクセスするページ

最近アクセスしたページ

navigation

パーミッションの宣言

すべての Android アプリは制限されたアクセス サンドボックス内で実行されます。アプリが自身のサンドボックスの外部にあるリソースや情報を使用しなければならない場合、アプリは適切なパーミッションをリクエストする必要があります。アプリ マニフェストにパーミッションを記載することにより、アプリがパーミッションを必要としていることを宣言します。

パーミッションは保護レベルに応じて、自動的に付与されるか、端末のユーザーによって付与されるかが決まります。たとえば、アプリが端末のフラッシュをオンにするためのパーミッションをリクエストすると、そのパーミッションは自動的に付与されます。一方、アプリでユーザーの連絡先データを読み取る必要がある場合は、ユーザーにパーミッションを付与するよう求めます。ユーザーは、プラットフォームのバージョンに応じて、アプリのインストール時(Android 5.1 以前のバージョン)またはアプリの実行時(Android 6.0 以降のバージョン)にパーミッションを付与します。

アプリに必要なパーミッションを決定する

アプリを開発するときは、パーミッションが必要な機能が使用されるシーンを考慮する必要があります。通常、アプリでは、そのアプリで作成されない情報やリソースを使用するとき、または端末や他のアプリの動作に影響を及ぼすアクションを実行するときにパーミッションが必要になります。たとえば、インターネットにアクセスしたり、端末のカメラを使用したり、Wi-Fi をオンまたはオフにする必要がある場合に適切なパーミッションを必要とします。システム パーミッションのリストについては、Normal パーミッションと Dangerous パーミッションを参照してください。

アプリは、直接実行するアクションに対するパーミッションのみを必要とします。アプリが別のアプリにタスクの実行または情報の提供をリクエストする場合、パーミッションは不要です。たとえば、アプリがユーザーのアドレス帳を読み取る必要がある場合、アプリには READ_CONTACTS パーミンションが必要です。一方、アプリがインテントを使用して、ユーザーの連絡先アプリからの情報をリクエストする場合、このアプリにはパーミッションが不要です。ただし、その連絡先アプリはパーミッションを必要とします。詳細については、インテントの使用を検討するを参照してください。

マニフェストにパーミッションを追加する

アプリがパーミッションを必要としていることを宣言するには、アプリ マニフェスト内で、最上位の <manifest> 要素の子要素として <uses-permission> 要素を挿入します。たとえば、アプリで SMS メッセージを送信する必要がある場合は、マニフェストに次の行を記述します。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.snazzyapp">

    <uses-permission android:name="android.permission.SEND_SMS"/>
    

    <application ...>
        ...
    </application>

</manifest>

パーミッションを宣言した後のシステムの動作は、パーミッションの保護レベルによって異なります。ユーザーのプライバシーに影響を及ぼさないパーミッションは、自動的に付与されます。パーミッションによりユーザーの機密情報へのアクセスが可能になる場合、ユーザーはそのリクエストを承認するよう求めれらます。さまざまな種類のパーミッションの詳細情報については、Normal パーミッションと Dangerous パーミッションを参照してください。

このサイトでは、ユーザーが選択したサイトの言語と表示設定を保存する目的で Cookie を使用しています。

Android デベロッパー向けの最新情報やヒントを入手して、Google Play での成功を手に入れましょう。

* 必須

送信しました

WeChat で Google Developers をフォローする

このサイトをで表示しますか?

ページの表示言語としてを選択しましたが、このサイトの言語はに設定されています。

言語設定を変更してこのサイトをで表示しますか?言語設定を変更する場合は、各ページの下にある言語メニューを使用してください。

このクラスには、API レベル 以上が必要です。

API レベル が選択されているため、このドキュメントは非表示になっています。左のナビゲーションの上にあるセレクタを使って、ドキュメントの API レベルを変更できます。

アプリに必要な API レベルを指定する方法について、詳しくは異なるプラットフォーム バージョンのサポートをご覧ください。

Take a short survey?
Help us improve the Android developer experience. (April 2018 — Developer Survey)