获取AndroidManifest.xml中的meta-data元素
android 开发中:
在AndroidManifest.xml中,<meta-data>元素可以作为子元素,
被包含在<activity>、<application> 、<service>和<receiver>元素中,
不同的父元素,在应用时读取的方法也不同。
1 :在Activity应用<meta-data>元素。
xml代码段:
<activity...>
<meta-data android:name="data_Name" android:value="hello my activity"></meta-data>
</activity>
java代码段:
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 android:name=".main.MyApplication" android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <meta-data android:name="RONG_CLOUD_APP_KEY" android:value="m7ua80" /> </application>
java代码段:
ApplicationInfo appInfo; try { appInfo = MyApplication.this.getPackageManager() .getApplicationInfo(MyApplication.this.getPackageName(), PackageManager.GET_META_DATA); String msg = appInfo.metaData.getString("RONG_CLOUD_APP_KEY"); } catch (NameNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); }
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 );
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· 软件产品开发中常见的10个问题及处理方法
· Vite CVE-2025-30208 安全漏洞
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· MQ 如何保证数据一致性?