Tips

Android マニフェストファイル 【Android TIPS】

<receiver>タグ
アプリケーションのコンポーネントの1つであるBroadcastReceiverを宣言します。
全てのBroadcastReceiverはマニフェストファイルにこのタグで宣言されている必要があり、宣言がないBroadcastReceiverは実行することができません。

 
  • 必須の子要素
  • なし

     
  • 主な属性
  • 属性 内容
    android:name BroadcastReceiverのクラスを完全修飾クラス名で指定する。「BroadcastReceiver」クラスが<manifest>で指定しているパッケージに属している場合は、パッケージ名を省略し最初の1文字目を「.」ピリオドから始めることができる。
    android:process BroadcastReceiverが実行されるプロセスの名前を指定する。
    通常はアプリケーションが実行されるプロセスと同一のプロセス上で実行されるが、このタグを設定することでマルチプロセスのBroadcastReceiverを作成することができる。
     
  • 使用例
  • &lt;receiver android:name=&quot;.SampleReceiver&quot;&gt;&lt;/receiver&gt;
    
<provider>タグ
アプリケーションのコンポーネントの1つであるContentProviderを宣言します。全てのContentProviderはマニフェストファイルにこのタグで宣言されている必要があり、宣言がないContentProviderは実行することができません。

 
  • 必須の子要素
  • なし

     
  • 主な属性
  • 属性 内容
    android:name ContentProviderのクラスを完全修飾クラス名で指定する。「ContentProvider」クラスが<manifest>で指定しているパッケージに属している場合は、パッケージ名を省略し最初の1文字目を「.」ピリオドから始めることができる。
    android:process ContentProviderが実行されるプロセスの名前を指定する。
    通常はアプリケーションが実行されるプロセスと同一のプロセス上で実行されるが、このタグを設定することでマルチプロセスのContentProviderを作成することができる。
    android:permission ContentProviderのデータを読み書きするためにクライアントが必要とするパーミッションの名前を指定する。読み込みと書き込みを同時に設定できるが、readPermissionとwritePermissionの設定が優先される
    android:readPermission ContentProviderに問い合わせするためにクライアントが必要とするパーミッションの名前を指定する。
    android:writePermission ContentProviderで公開されているデータを変更するためにクライアントが必要とするパーミッションの名前を指定する。
     
  • 使用例
  • &lt;provider android:name=&quot;.SampleProvider&quot;&gt;&lt;/provider&gt;
    
<intent-filter>タグ
Activity、Service、BroadcastReceiverが応答するインテントを指定します。
子要素として<action>タグ、<category>タグ等を持ち、<action>タグは必ず指定する必要があります。

 
  • 必須の子要素
  • &lt;action&gt;
    
     
  • 主な属性
  • 特になし

     
  • 使用例
  • &lt;intent-filter&gt;
        &lt;action android:name=&quot;android.intent.action.MAIN&quot; /&gt;
    
        &lt;category android:name=&quot;android.intent.category.LAUNCHER&quot; /&gt;
    &lt;/intent-filter&gt;
    
<action>タグ
インテントフィルタにアクションを追加する。<intent-filter>タグには1つ以上の<action>タグを含める必要がある。

 
  • 必須の子要素
  • なし

     
  • 主な属性
  • 属性 内容
    android:name アクションの名前を指定する。
    例えば、Intent.ACTION_MAINを設定したい場合は、定数に設定されている文字列「android.intent.action.MAIN」を指定する。
     
  • 使用例
  • &lt;action android:name=&quot;android.intent.action.MAIN&quot; /&gt;
    
<category>タグ
インテントフィルタにカテゴリを追加します。

 
  • 必須の子要素
  • なし

     
  • 主な属性
  • 属性 内容
    android:name カテゴリの名前を指定する。
    例えば、Intent.CATEGORY_LAUNCHERを設定したい場合は、定数に設定されている文字列「android.intent.category.LAUNCHER」を指定する。
     
  • 使用例
  • &lt;category android:name=&quot;android.intent.category.LAUNCHER&quot; /&gt;
    
<meta-data>タグ
付加的なアイテムの名前と値のペアです。
それらのすべての値は単一の Bundle オブジェクトに集約され、 PackageItemInfo.metaData フィールドとしてコンポーネントから使用できるようになります。

 
  • 必須の子要素
  • なし

     
  • 主な属性
  • 属性 内容
    android:name アイテムに対する一意の名前である。一意性を保証するために、「com.example.project.activity.fred」のようなパッケージ名を使った名前を使用する。
    android:value アイテムに割り当てられた値である。
     
  • 使用例
  •  &lt;meta-data
         android:name=&quot;com.google.android.maps.v2.API_KEY&quot;
         android:value=&quot;APIキー&quot; /&gt;
    
<permission>タグ
特定のコンポーネント、機能、他のアプリケーションに対するアクセスを制限するために使用するパーミッションを宣言します。

 
  • 必須の子要素
  • なし

     
  • 主な属性
  • 属性 内容
    android:description パーミッションの説明。
    android:icon パーミッションを表現するアイコンに対する drawable リソースの参照。
    android:name パーミッションの名前。パーミッションの名前は一般的にパッケージ名が接頭辞として使われる。
    android:label ユーザに表示可能なパーミッションの名前。
    android:protectionLevel アクセスを要求しているアプリケーションに特定のアクセス許可を付与する (もしくは付与しない) 場合に、システムが従わなければならない指針を示す。指定する値は次表の4つである。
     
  • パーミッションを付与するレベル
  • 属性 内容
    normal デフォルトの値
    低リスクのパーミッションであることを表し、ユーザはインストール確認画面で、許可もしくは不許可を選択することができる。
    dangerous アプリケーションの非公開データ等にアクセス可能になるといった高リスクのパーミッションであることを表し、normalと同様にユーザはインストール確認画面で、許可もしくは不許可を選択することができる。
    signature パーミッションの定義側と使用側が、同じ証明書で署名されている場合にのみ、アクセスが許可されるパーミッション
    signatureOrSystem サードパーティアプリケーションでは使用できないパーミッションで、主にシステムアプリケーションで使用される。Androidシステムイメージ内にある証明書と、同じもので署名されたアプリケーションのみにアクセスが許可されます。
     
  • 使用例
  • &lt;permission
         android:name=&quot;com.example.mapsample.permission.MAPS_RECEIVE&quot;
         android:protectionLevel=&quot;signature&quot; /&gt;
    

以上が主なマニフェストファイルの概要です。

Androidアプリ開発の必須知識!JAVAプログラミングを学べる連載リンク

はじめてのJAVA 連載

一覧へ戻る

Recent News

Recent Tips

Tag Search