在AndroidManifest.xml中,<meta-data>元素可以作为子元素,被包含在<activity>、<application>、<service>和<receiver>元素中,但
不同的父元素,在应用时读取的方法也不同。
1 :在Activity的应用。
   xml代码段:
   <activity...>
      <meta-data android:name="myMsg" android:value="hellomyactivity"></meta-data>
   </activity>
   
   java代码段:
   ActivityInfoinfo=this.getPackageManager()
                         .getActivityInfo(getComponentName(),
                         PackageManager.GET_META_DATA);
    Stringmsg=info.metaData.getString("myMsg");
   System.out.println("myMsg:"+msg);
 
一个组件元素能够包含任意数量的meta-data子元素。它们所有的值都会被收集在Bundle对象中并且使其可以作为组件的PackageItemInfo.metaData字段。一般的值可以通过value属性来指定,但是如果要指定一个资源id作为一个值,那么就要用resource属性来代替。例如:下面的代码就是指定存储在@string/kangaroo资源中的zoo名字。<meta-data android:name="zoo"android:value="@string/kangaroo"/>另一方面,利用resource属性将指定zoo的资源id号,并不是存储在资源中的资源值。<meta-dataandroid:name="zoo" android:resource="@string/kangaroo"/>当要给组件提供多个复杂的数据时,在这里并不推荐使用多重meta-data元素,推荐你存储这些数据在一个资源文件中并且利用resource属性来通知它的id给组件。

2:在application的应用。
   xml代码段:
  <application...>
      <meta-data android:value="hello my application"android:name="myMsg"></meta-data>
  </application>
  
   java代码段:
   ApplicationInfo appInfo = this.getPackageManager()
                                 .getApplicationInfo(getPackageName(),
                         PackageManager.GET_META_DATA);
    Stringmsg=appInfo.metaData.getString("myMsg");
   System.out.println("myMsg:"+msg);
3:在service的应用。
   xml代码段:
  <serviceandroid:name="MetaDataService">
     <meta-data android:value="hello my service"android:name="myMsg"></meta-data>
  </service>
   java代码段:
   ComponentName cn=newComponentName(this, MetaDataService.class);
   ServiceInfoinfo=this.getPackageManager()
                       .getServiceInfo(cn, PackageManager.GET_META_DATA);
    Stringmsg=info.metaData.getString("myMsg");
   System.out.println("myMsg:"+msg);
4: 在receiver的应用。
   xml代码段:
   <receiverandroid:name="MetaDataReceiver">
           <meta-data android:value="hello my receiver"android:name="myMsg"></meta-data>
           <intent-filter>
               <actionandroid:name="android.intent.action.PHONE_STATE"></action>
           </intent-filter>
   </receiver>
  java代码段:
   ComponentName cn=new ComponentName(context,MetaDataReceiver.class);
    ActivityInfoinfo=context.getPackageManager()
                            .getReceiverInfo(cn, PackageManager.GET_META_DATA);
    Stringmsg=info.metaData.getString("myMsg");
   System.out.println("myMsg:"+msg);

Android  <meta-data>的更多相关文章

  1. 【记】研究Sharding-JDBC遇到的一个异常(Caused by: io.shardingsphere.core.exception.ShardingException: Cannot get uniformed table structure for `t`. The different meta data of actual tables are as follows)

    一.异常信息 Caused by: io.shardingsphere.core.exception.ShardingException: Cannot get uniformed table str ...

  2. android读取data下得数据

    拥有Root权限的情况 adb shell su cd  /data/data/com.package 然后就可以直接读取 没有Root的情况 adb shell run-as com.package ...

  3. Android: Receiving Data from the Send Intent,自己app注册系统分享

    当用户在系统的专辑,点击共享时.通过我们自己的app.分享此图片. 1.注册 主要是在AndroidManifest.xml中,对activity注冊Intent-filter.如: <acti ...

  4. Android打开/data/目录以及导出文件

    打开logcat和和file Explorer Tools-->Android-->Android Device Monitor 如果右侧没有出现,Windows-->Show Vi ...

  5. Android App data write as file data with synchronous Demo

    package com.android.utils; import java.io.File; import java.io.IOException; import java.io.RandomAcc ...

  6. [Android exception] /data/app/com.tongyan.tutelage-1/lib/arm/libstlport_shared.so: has text relocations

    java.lang.UnsatisfiedLinkError: dlopen failed: /data/app/com.tongyan.tutelage-1/lib/arm/libstlport_s ...

  7. A JavaScript library for reading EXIF meta data from image files.

    exif-js/exif-js: JavaScript library for reading EXIF image metadata https://github.com/exif-js/exif- ...

  8. Android下/data/data/<package_name>/files读写权限

    今天将更新模块拿到android上面测试的时候,发现在创建writablepath.."upd/"目录的时候出现Permission Denied提示BTW:我使用的是lfs来创建 ...

  9. Android Saving Data(二)

    Saving File android读写文件的形式和普通的java IO的方式并没有什么不同,唯一有所限制的是当我们创建文件的时候不能够在像javaSE那样随意了.一般android读写文件有两种形 ...

  10. 《BI那点儿事》META DATA(元数据)

    关于数据仓库的数据,指在数据仓库建设过程中所产生的有关数据源定义,目标定义,转换规则等相关的关键数据.同时元数据还包含关于数据含义的商业信息,所有这些信息都应当妥善保存,并很好地管理.为数据仓库的发展 ...

随机推荐

  1. Atitit  项目界面h5化静态html化计划---vue.js 把ajax获取到的数据 绑定到表格控件 v2 r33.docx

    Atitit  项目界面h5化静态html化计划---vue.js 把ajax获取到的数据 绑定到表格控件 v2 r33.docx 1. 场景:应用在项目列表查询场景下1 1.1. 预计初步掌握vue ...

  2. stun服务器搭建(coTurn)

    0. 前言 好久之前写过一篇搭建WebRTC的文章,里面有简单的说到怎么搭建一个stun服务.但那时只是一笔带过.正好,这两天搭建stun服务,这篇博客就再复习一遍,并把搭建过程整理一下. 1. 安装 ...

  3. centos 7 五笔安装

    # yum install ibus ibus-table-wubi 需要重启动

  4. android笔记---LoginActivity extends FinalActivity

    package com.fuda.activity; import java.io.BufferedReader; import java.io.File; import java.io.FileNo ...

  5. Lua语法基础(3)--迭代器和泛型for

    迭代器和闭包 迭代器是一种支持指针类型的结构,它可以遍历集合的每一个元素.在Lua中我们常常使用函数来描述迭代器,每次调用该函数就返回集合的下一个元素. 迭代器需要保留上一次成功调用的状态和下一次成功 ...

  6. 【转】cocos2d-x动画加速与减速

    移步原帖传送门:cocos2d-x动画加速与减速 动画是游戏的必然要素之一,在整个游戏过程中,又有着加速.减速动画的需求.以塔防为例子,布塔的时候希望能够将游戏减速,布好塔后,则希望能将游戏加速:当某 ...

  7. 多媒体文件格式之TS

    [时间:2016-07] [状态:Open] TS流是MPEG-2标准中定义一种用于直播的码流结构,具有很好的容错能力.所有跟TS相关的标准可以从ISO/IEC_13818-1中找到. 通常TS流的后 ...

  8. 邮箱登录form表单样例

    index.html <!doctype html> <html lang="en"> <head> <meta charset=&quo ...

  9. python 使用pillow将图片转换为webp格式

    1.webp格式 webp格式是谷歌开发的一种旨在加快图片加载速度的格式,将图片转为webp格式后,体积约为原来的2/3,这可以节省大量的服务器带宽,微信公众号文章里的图片就是这种格式的. 2.使用p ...

  10. n阶方阵A可逆充分必要条件

    n阶方阵A可逆 充分必要条件:<=> A非奇异(非奇异矩阵就是对应的行列式不等于等于0的方阵)<=> |A|≠0 <=> r(A) = n <=> A的 ...