maifestリストファイルのmeta-dataデータを取得する(転載)

2981 ワード

もしこの文章が役に立ったら、原作者に賛辞をお願いします。
Android Manifest.xmlでは、要素は、要素として、含まれることができますが、異なる親要素は、アプリケーション時に読み込む方法も異なります。
一、Activityに元素を応用する。
xmlコードセグメント:
   

       

    
javaコードセグメント:
   ActivityInfo info=this.getPackageManager()
                          .getActivityInfo(getComponentName(),
                          PackageManager.GET_META_DATA);

    String msg =info.metaData.getString("data_Name");

    Log.d(TAG, " msg == " + msg );
複雑なデータがコンポーネントに関連している場合は、データを資源として保存し、レスポンス属性を使って関連リソースIDをコンポーネントに通知することもできます。xmlコードセグメント:
  
    .....  
      
  
javaコードセグメント:
 ActivityInfo activityInfo = getPackageManager().getActivityInfo(getComponentName(),  
            PackageManager.GET_META_DATA);  
    //       @string/ice      id   
    int value = activityInfo.metaData.getInt("resource_id");  
    Log.d("Activity Tag", "resource_id : " + value);  // Activity Tag﹕ resource_id : 2131361808  
二、アプリケーション要素。
xmlコードセグメント:
  

       

   
javaコードセグメント:
    ApplicationInfo appInfo = this.getPackageManager()

                                  .getApplicationInfo(getPackageName(),

                          PackageManager.GET_META_DATA);

    String msg=appInfo.metaData.getString("data_Name");

    Log.d(TAG, " msg == " + msg );
三、serviceで元素を応用する。
xmlコードセグメント:
   

      

   
javaコードセグメント:
   ComponentName cn=new ComponentName(this, MetaDataService.class);

   ServiceInfo info=this.getPackageManager()

                        .getServiceInfo(cn, PackageManager.GET_META_DATA);

    String msg=info.metaData.getString("data_Name");

    Log.d(TAG, " msg == " + msg );
四、receiverで応用する元素。
xmlコードセグメント:


        

        

            

        


*javaコードセグメント:*
ComponentName cn=new ComponentName(context, MetaDataReceiver.class);

ActivityInfo info=context.getPackageManager()

                         .getReceiverInfo(cn, PackageManager.GET_META_DATA);

String msg=info.metaData.getString("data_Name");

Log.d(TAG, " msg == " + msg );