Android 从AndroidManifest获取meta-data

本文介绍了如何在Android应用的<activity>、<application>、<service>和<receiver>中使用<meta-data>标签来配置元数据,并提供了从代码中动态获取这些元数据的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

语法如下:

 

<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");

 

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值