在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. iOS提交iTunes审核时出现Invalid Binary错误

    xcode5编译一个xcode4时写的代码,提交iTunes审核时出错. 1.iOS提交审核时出现Invalid Binary错误 2.收到邮件: iPhone 5 Optimization Requ ...

  2. testbench的设计 文件读取和写入操作 源代码

    十大基本功之 testbench 1. 激励的产生 对于 testbench 而言,端口应当和被测试的 module 一一对应.端口分为 input,output 和 inout 类型产生激励信号的时 ...

  3. [na]tcp&udp扫描原理(nmap常用10条命令)

    nmap软件使用思路及常见用法 Nmap高级用法与典型场景 namp -sn 4种包 使用nmap -sn 查询网段中关注主机或者整个网段的IP存活状态 nmap -sn nmap针对局域网和广域网( ...

  4. 2-7-集合运算(A-B)∪(B-A)-线性表-第2章-《数据结构》课本源码-严蔚敏吴伟民版

    课本源码部分 第2章  线性表 - 集合运算(A-B)∪(B-A) ——<数据结构>-严蔚敏.吴伟民版        ★有疑问先阅读★ 源码使用说明  链接☛☛☛ <数据结构-C语言 ...

  5. android studio - Manifest merger failed with multiple errors, see logs

    今天编译运行的时候遇到了“Error:Execution failed for task ':test:processDebugManifest'.> Manifest merger faile ...

  6. How lock works?

    Eliminating Synchronization-Related Atomic Operations with Biased Locking and Bulk Rebiasing http:// ...

  7. IBM研究院找到度量安全性方法:容器与虚拟机,谁更安全?

    https://zhuanlan.zhihu.com/p/40446759 虚拟机比容器更安全吗?你可能会有自己的答案,但IBM研究院发现容器的安全性与虚拟机一样,甚至更加安全. 一般来说,从接口宽度 ...

  8. Python Import机制

    最近在看<Python源码剖析>,对Python内部运行机制比以前了解的更深入了,感觉自己有机会也可以做个小型的动态脚本语言了,呵呵,当然是吹牛了.目的当然不是创造一个动态语言,目的只有一 ...

  9. (转)CTP: 平昨仓与平今仓,log轻轻告诉你.......

    转自:http://blog.csdn.net/wowotuo/article/details/43242663 CTP的相关文档告诉我们,中金所和三大商品交易所中,只有上期所区分平今仓和平昨仓.也就 ...

  10. LeetCode: Binary Tree Inorder Traversal 解题报告

    Binary Tree Inorder Traversal Given a binary tree, return the inorder traversal of its nodes' values ...