加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > C语言 > 正文

meta-data的使用

发布时间:2020-12-15 00:46:44 所属栏目:C语言 来源:网络整理
导读:meta-data键值对,所有的名值对被包装成Bundle供组件使用,因此使用方式同Bundle。metadata普通值由value属性给出,资源ID由resource属性给出。 定义meta-data: 相关资源文件: //R:public static int ic_launcher=0x7f020017; 使用: //获取activity 的met

meta-data键值对,所有的名值对被包装成Bundle供组件使用,因此使用方式同Bundle。metadata普通值由value属性给出,资源ID由resource属性给出。

定义meta-data:

            
            
            

相关资源文件:


//R:
public static int ic_launcher=0x7f020017;

使用:

//获取activity 的meta-data字段:string
        try {
            ActivityInfo itemInfo = this.getPackageManager().getActivityInfo(getComponentName(),PackageManager.GET_META_DATA);
            String tag = itemInfo.metaData.getString("pepelu_string_1");
        Log.d("pepelu","activity meta-data=" + tag);
    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    }
    //获取int字段
    try {
        ActivityInfo info2=getPackageManager().getActivityInfo(getComponentName(),PackageManager.GET_META_DATA);
        int picId=info2.metaData.getInt("pepelu_int_1");
        Log.d("pepelu","activity int ="+picId);
    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    }</code></pre>

再其他组件中使用meta-data:

//在Activity应用元素。
        ActivityInfo info = this.getPackageManager().getActivityInfo(getComponentName(),PackageManager.GET_META_DATA);
        info.metaData.getString("meta_name");
    //在application应用<meta-data>元素。
    ApplicationInfo appInfo = this.getPackageManager().getApplicationInfo(getPackageName(),PackageManager.GET_META_DATA);
    appInfo.metaData.getString("meta_name");

    //在service应用<meta-data>元素。
    ComponentName cn = new ComponentName(context,MetaDataService.class);
    ServiceInfo info = this.getPackageManager().getServiceInfo(cn,PackageManager.GET_META_DATA);
    info.metaData.getString("meta_name");

    //在receiver应用<meta-data>元素。
    ComponentName cn = new ComponentName(context,MetaDataReceiver.class);
    ActivityInfo info = context.getPackageManager().getReceiverInfo(cn,PackageManager.GET_META_DATA);
    info.metaData.getString("meta_name");</code></pre>

不能修改meta-data属性值

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读