Android <meta-data>

转载 2013年12月02日 10:28:01

在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>元素的数据

很多时候我们需要在Android Manifest 清单文件中的 Activity、Service、BroadcastReceiver或者Application节点上配置一些称为 元数据的信息,然后在...
  • FX_SKY
  • FX_SKY
  • 2013-09-23 22:24
  • 11818

Android学习之 Manifest中meta-data扩展元素数据的配置与获取

原文链接:http://blog.csdn.net/janice0529/article/details/41583587 在AndroidManifest.xml清单文件中 我们有时会看到...

android meta-data详解

本文转自: http://my.oschina.net/xesam/blog/135333 概念 meta-data就像其名一样,主要用来定义一些组件相关的配置值。 按照官方定义,m...

使用 gradle 在编译时动态设置 Android resValue / BuildConfig / Manifes中<meta-data>变量的值

转载请标明出处:http://blog.csdn.net/xx326664162/article/details/49247815 文章出自:薛瑄的博客你也可以查看我的其他同类文章,也会让你有一...

android meta-data 使用详解

android meta-data 使用详解 Java代码   "string" android:resource="resource specificati...

Android meta-data 与 activity-alias

Android 中 meta-data 用在 AndroidManifest.xml 文件中。标签是提供组件额外的数据用的,它本身就是一个键值对(Bundle),可以自定义名称和值(value或res...

android meta-data 使用详解

android:resource="resource specification"            android:value="string" ...

android meta-data 使用详解

Android 读取元素的数据 在AndroidManifest.xml中,元素可以作为子元素,被包含在、 、和元素中,但 不同的父元素,在应用时读取的方法也不同。 1 :在Ac...

Android之meta-data

本文主要记录一些零碎的东西 使用过半收费的SDK的都会涉及到key,比如使用百度地图等,都会让你申请密钥,然后写在manifest文件里。一直没有思考,都是直接使用,今天看了一下meta-data,g...

Android meta-data

Android meta-data数据的读取meta-data元数据,当我们在集成第三方sdk时会经常遇到,比如百度地图sdk,talkingData统计等,所以做了一个小总结,以备使用。在清单文件中...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)