zoukankan      html  css  js  c++  java
  • android metadata 读取

    引用:http://blog.csdn.net/dianyueneo/article/details/7427722

    在AndroidManifest.xml中,<meta-data>元素可以作为子元素,被包含在<activity>、<application> 、<service>和<receiver>元素中,但
    不同的父元素,在应用时读取的方法也不同。

    1 :在Activity的应用。
        xml代码段:
       <activity...>
           <meta-data android:name="myMsg" android:value="hello my activity"></meta-data>
        </activity>
        
        java代码段:
       ActivityInfo info=this.getPackageManager()
                              .getActivityInfo(getComponentName(),
                              PackageManager.GET_META_DATA);
        String msg=info.metaData.getString("myMsg");
        System.out.println("myMsg:"+msg);

    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);
        String msg=appInfo.metaData.getString("myMsg");
        System.out.println("myMsg:"+msg);

    3:在service的应用。
       xml代码段:
       <service android:name="MetaDataService">
          <meta-data android:value="hello my service" android:name="myMsg"></meta-data>
       </service>

       java代码段:
       ComponentName cn=new ComponentName(this, MetaDataService.class);
       ServiceInfo info=this.getPackageManager()
                            .getServiceInfo(cn, PackageManager.GET_META_DATA);
        String msg=info.metaData.getString("myMsg");
        System.out.println("myMsg:"+msg);

    4: 在receiver的应用。
       xml代码段:
        <receiver android:name="MetaDataReceiver">
                <meta-data android:value="hello my receiver" android:name="myMsg"></meta-data>
                <intent-filter>
                    <action android:name="android.intent.action.PHONE_STATE"></action>
                </intent-filter>
        </receiver>
       java代码段:
        ComponentName cn=new ComponentName(context, MetaDataReceiver.class);
        ActivityInfo info=context.getPackageManager()
                                 .getReceiverInfo(cn, PackageManager.GET_META_DATA);
        String msg=info.metaData.getString("myMsg");
        System.out.println("myMsg:"+msg);
     
     以上例子在android2.1运行通过

  • 相关阅读:
    Codeforces 992C(数学)
    Codeforces 990C (思维)
    Codeforces 989C (构造)
    POJ 1511 Invitation Cards(链式前向星,dij,反向建边)
    Codeforces 1335E2 Three Blocks Palindrome (hard version)(暴力)
    POJ 3273 Monthly Expense(二分)
    POJ 2566 Bound Found(尺取前缀和)
    POJ 1321 棋盘问题(dfs)
    HDU 1506 Largest Rectangle in a Histogram(单调栈)
    POJ 2823 Sliding Window(单调队列)
  • 原文地址:https://www.cnblogs.com/sode/p/2507942.html
Copyright © 2011-2022 走看看