meta-data的使用
2014-02-12 16:27
302 查看
在manifest里面我们经常会发现有几个meta-data标签,他们常被用来配置参数常量。
例如:<meta-data android:name="HIAPK_RECDID" android:value="2238872"/>
<meta-data android:name="UMENG_APPKEY" android:value="4dfb66ee431fe371d9000063" />
<meta-data android:name="appkey" android:value="110000" />
这三个标签是写在application下面的。
meta-data还可以出现在activity,receiver,service标签中。
一,在application中
<!-- app -->
<meta-data android:name="application_name" android:value="application_value" />
获取meta-data
ApplicationInfo appInfo = this.getPackageManager().getApplicationInfo(
getPackageName(), PackageManager.GET_META_DATA);
String msg = appInfo.metaData.getString("application_name");
二,在activity中
<!-- Activity -->
<activity android:name=".MyActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="activity_name" android:value="activity_value" />
</activity>
获取meta-data
ActivityInfo actInfo = mContext.getPackageManager().getActivityInfo(
getComponentName(), PackageManager.GET_META_DATA);
String msg = actInfo.metaData.getString("activity_name");
三,在service中
<service android:name=".MyService">
<meta-data android:name="service_name" android:value="service_value" />
</service>
获取meta-data
ComponentName cn = new ComponentName(this, MyService.class);
try {
ServiceInfo serInfo = this.getPackageManager().getServiceInfo(cn,
PackageManager.GET_META_DATA);
} catch (NameNotFoundException e) {
e.printStackTrace();
}
String msg = serInfo.metaData.getString("service_name");
四,在receiver中,也就是广播接收者(拨打电话的时候会看到toast消息)
<receiver android:name=".MyReceiver">
<meta-data android:name="receiver_name" android:value="receiver_value" />
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
获取meta-data
if (TextUtils.equals("android.intent.action.PHONE_STATE", intent
.getAction())) {
ComponentName cn = new ComponentName(context, MyReceiver.class);
try {
ActivityInfo info = context.getPackageManager().getReceiverInfo(cn,
PackageManager.GET_META_DATA);
} catch (NameNotFoundException e) {
e.printStackTrace();
}
String msg = info.metaData.getString("receiver_name");
// 打电话测试即可
Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
}
例如:<meta-data android:name="HIAPK_RECDID" android:value="2238872"/>
<meta-data android:name="UMENG_APPKEY" android:value="4dfb66ee431fe371d9000063" />
<meta-data android:name="appkey" android:value="110000" />
这三个标签是写在application下面的。
meta-data还可以出现在activity,receiver,service标签中。
一,在application中
<!-- app -->
<meta-data android:name="application_name" android:value="application_value" />
<!-- app --> <meta-data android:name="application_name" android:value="application_value" />
获取meta-data
ApplicationInfo appInfo = this.getPackageManager().getApplicationInfo(
getPackageName(), PackageManager.GET_META_DATA);
String msg = appInfo.metaData.getString("application_name");
ApplicationInfo appInfo = this.getPackageManager().getApplicationInfo( getPackageName(), PackageManager.GET_META_DATA); String msg = appInfo.metaData.getString("application_name");
二,在activity中
<!-- Activity -->
<activity android:name=".MyActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="activity_name" android:value="activity_value" />
</activity>
<!-- Activity --> <activity android:name=".MyActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <meta-data android:name="activity_name" android:value="activity_value" /> </activity>
获取meta-data
ActivityInfo actInfo = mContext.getPackageManager().getActivityInfo(
getComponentName(), PackageManager.GET_META_DATA);
String msg = actInfo.metaData.getString("activity_name");
ActivityInfo actInfo = mContext.getPackageManager().getActivityInfo( getComponentName(), PackageManager.GET_META_DATA); String msg = actInfo.metaData.getString("activity_name");
三,在service中
<service android:name=".MyService">
<meta-data android:name="service_name" android:value="service_value" />
</service>
<!-- 服务 --> <service android:name=".MyService"> <meta-data android:name="service_name" android:value="service_value" /> </service>
获取meta-data
ComponentName cn = new ComponentName(this, MyService.class);
try {
ServiceInfo serInfo = this.getPackageManager().getServiceInfo(cn,
PackageManager.GET_META_DATA);
} catch (NameNotFoundException e) {
e.printStackTrace();
}
String msg = serInfo.metaData.getString("service_name");
ComponentName cn = new ComponentName(this, MyService.class); try { ServiceInfo serInfo = this.getPackageManager().getServiceInfo(cn, PackageManager.GET_META_DATA); } catch (NameNotFoundException e) { e.printStackTrace(); } String msg = serInfo.metaData.getString("service_name");
四,在receiver中,也就是广播接收者(拨打电话的时候会看到toast消息)
<receiver android:name=".MyReceiver">
<meta-data android:name="receiver_name" android:value="receiver_value" />
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
<receiver android:name=".MyReceiver"> <meta-data android:name="receiver_name" android:value="receiver_value" /> <intent-filter> <action android:name="android.intent.action.PHONE_STATE" /> </intent-filter> </receiver>
获取meta-data
if (TextUtils.equals("android.intent.action.PHONE_STATE", intent
.getAction())) {
ComponentName cn = new ComponentName(context, MyReceiver.class);
try {
ActivityInfo info = context.getPackageManager().getReceiverInfo(cn,
PackageManager.GET_META_DATA);
} catch (NameNotFoundException e) {
e.printStackTrace();
}
String msg = info.metaData.getString("receiver_name");
// 打电话测试即可
Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
}
相关文章推荐
- Android中<meta-data>的使用
- 使用 gradle 在编译时动态设置 Android resValue / BuildConfig / Manifes中<meta-data>变量的值
- Android meta-data的使用以及含义
- meta-data的使用
- meta-data使用
- MetadataType的使用
- android meta-data 使用详解
- <meta-data>的使用
- 在LINQ TO SQL 中使用MVC3中的DataAnnotations 【MetadataType】
- Android中<meta-data>的使用
- android meta-data 使用
- <meta-data>的使用
- Android中针对<meta-data>怎么来使用
- meta-data的使用
- android meta-data 使用详解
- Android中<meta-data>的使用
- Android中<meta-data>的使用
- Android中<meta-data>的使用
- 使用 ApplicationInfo 读取 AndroidManifest.xml 中的meta-data信息
- Android中<meta-data>的使用