Android 從AndroidManifest獲取meta-data


語法如下:

 

<meta-data android:name="string"
           android:resource="resource specification"
           android:value="string" />

 

 

<meta-data>標簽可以作為子標簽,可以被包含在<activity>、<application> 、<service>和<receiver>中:

 

1. Activity標簽中:

 <activity...>
       <meta-data android:name="Data_Name" android:value="DataValue"></meta-data>
    </activity>

 在代碼中動態獲取:

ActivityInfo info=this.getPackageManager()
                          .getActivityInfo(getComponentName(),
                          PackageManager.GET_META_DATA);
    String msg =info.metaData.getString("Data_Name");

 

 

2.application標簽中:

<application...>
       <meta-data android:value="DataValue" android:name="Data_Name"></meta-data>
   </application>

 

在代碼中動態獲取:

 

 ApplicationInfo appInfo = this.getPackageManager()
                                  .getApplicationInfo(getPackageName(),
                          PackageManager.GET_META_DATA);
    String msg=appInfo.metaData.getString("Data_Name");

 

 

3.在service標簽中:

 

<service android:name="MetaDataService">
      <meta-data android:value="DataValue" android:name="Data_Name"></meta-data>
   </service>

 在代碼中獲取:

 

ComponentName cn=new ComponentName(this, MetaDataService.class);
   ServiceInfo info=this.getPackageManager()
                        .getServiceInfo(cn, PackageManager.GET_META_DATA);
    String msg=info.metaData.getString("Data_Name");

 

 

4. 在receive標簽中:

 <receiver android:name="MetaDataReceiver">
            <meta-data android:value="DataValuer" android:name="Data_Name"></meta-data>
            <intent-filter>
                <action android:name="android.intent.action.PHONE_STATE"></action>
            </intent-filter>
    </receiver>

 

 

在代碼中獲取:

 

ComponentName cn=new ComponentName(context, MetaDataReceiver.class);
    ActivityInfo info=context.getPackageManager()
                             .getReceiverInfo(cn, PackageManager.GET_META_DATA);
    String msg=info.metaData.getString("Data_Name");

 

   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM