获取manifest清单文件的meta-data数据
转自: http://www.2cto.com/kf/201303/194824.html
android 开发中:
在
AndroidManifest.xml中,<meta-data>元素可以作为子元素,
被包含在<activity>、<application> 、<service>和<receiver>元素中,
不同的父元素,在应用时读取的方法也不同。
1 :在Activity应用<meta-data>元素。
xml代码段:
1
2
3
|
<
activity...
>
<
meta-data
android:name="data_Name" android:value="hello my activity"></
meta-data
>
</
activity
>
|
java代码段:
1
2
3
4
5
|
ActivityInfo info=
this
.getPackageManager()
.getActivityInfo(getComponentName(),
PackageManager.GET_META_DATA);
String msg =info.metaData.getString(
"data_Name"
);
Log.d(TAG,
" msg == "
+ msg );
|
2:在application应用<meta-data>元素。
xml代码段:
<application...> <meta-data android:value="hello my application" android:name="data_Name"></meta-data> </application>
java代码段:
ApplicationInfo appInfo = this.getPackageManager() .getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA); String msg=appInfo.metaData.getString("data_Name"); Log.d(TAG, " msg == " + msg );
3:在service应用<meta-data>元素。
xml代码段:
<service android:name="MetaDataService"> <meta-data android:value="hello my service" android:name="data_Name"></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("data_Name"); Log.d(TAG, " msg == " + msg );
4: 在receiver应用<meta-data>元素。
xml代码段:
<receiver android:name="MetaDataReceiver"> <meta-data android:value="hello my receiver" android:name="data_Name"></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("data_Name"); Log.d(TAG, " msg == " + msg );
/****
* 有时候我们并不知道在meta-data里面是string还是int,导致我们无法使用getstring还是getint,这个时候我们就可以使用get方法就可以获取到了
*****/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】