<meta-data>读取方法

来源:互联网 发布:怎么装ubuntu系统 编辑:程序博客网 时间:2024/06/06 05:13

在AndroidManifest.xml中,元素可以作为子元素,被包含在、 、和元素中,但
不同的父元素,在应用时读取的方法也不同。
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);
1 0
原创粉丝点击