Android 读取<meta-data>元素中的数据
众所周知, 每个组件都有<meta-data>元素, 用于接收一些外部数据(eg: appKey), 那其中的值应该怎么读取呢.
1> Application
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<meta-data
android:name="application_meta_data"
android:value="application_meta_data_value" /> <!--可以关联资源ID, 支持多种数据类型 -->
ApplicationInfo info = null;
try {
info = getPackageManager()
.getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);
} catch (NameNotFoundException e) {
e.printStackTrace();
}
Log.v(TAG, "application meta data value:" + info.metaData.getString("application_meta_data"));
2> Activity
<activity
android:name="fyc.app.testandroid.MainActivity" >
<meta-data
android:name="activity_meta_data"
android:value="activity_meta_data_value" />
</activity>
ActivityInfo info = null;
try {
info = getPackageManager()
.getActivityInfo(getComponentName(), PackageManager.GET_META_DATA);
} catch (NameNotFoundException e) {
e.printStackTrace();
}
Log.v(TAG, "activity meta data value:" + info.metaData.getString("activity_meta_data"));
3> Service
<service android:name="fyc.app.testandroid.MyService" >
<meta-data
android:name="service_meta_data"
android:value="service_meta_data_value" />
</service>
ServiceInfo info = null;
try {
info = getPackageManager()
.getServiceInfo(new ComponentName(this, MyService.class), PackageManager.GET_META_DATA); //如果在当前组件获取直接使用getcomponentName()
} catch (NameNotFoundException e) {
e.printStackTrace();
}
Log.v(TAG, "service meta data value:" + info.metaData.getString("service_meta_data"));
4> BroadcastReceiver
<receiver android:name="fyc.app.testandroid.MyReceiver" >
<meta-data
android:name="receiver_meta_data"
android:value="receiver_meta_data_value" />
</receiver>
ActivityInfo info = null;
try {
info = getPackageManager()
.getReceiverInfo(new ComponentName(this, MyReceiver.class), PackageManager.GET_META_DATA);
} catch (NameNotFoundException e) {
e.printStackTrace();
}
Log.v(TAG, "receiver meta data value:" + info.metaData.getString("receiver_meta_data"));
Logcat输出信息
::46.733: V/MainActivity(): application meta data value:application_meta_data_value
::46.733: V/MainActivity(): activity meta data value:activity_meta_data_value
::46.763: V/MainActivity(): service meta data value:service_meta_data_value
::46.783: V/MainActivity(): receiver meta data value:receiver_meta_data_value
官方介绍
http://developer.android.com/guide/topics/manifest/meta-data-element.html
Android 读取<meta-data>元素中的数据的更多相关文章
- jquery在元素中存储数据:data()
转自:http://www.php.cn/js-tutorial-405445.html 在元素中存储数据:data() 1 2 3 4 5 6 7 8 9 10 <!DOCTYPE html& ...
- 聚集表(clustered table)data page中的数据行可以无序
误区 一直以为只要一个表含有聚集索引,那么在data page中的数据行是排序的.比如原来data page中有1.2.4.5.6这样四条记录,那么我要插入3这条记录,应该是先将456三条记录往后移, ...
- POI 读取Excel文档中的数据——兼容Excel2003和Excel2007
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. HSSF - 提供读写Microsoft Exce ...
- C#跨进程读取listview控件中的数据
http://www.cnblogs.com/Charltsing/p/slv32.html 欢迎交流:QQ564955427 读取标准的32位listview控件中的数据,网上已经有很多代码了.今天 ...
- Android 用SQLite 使用 CursorLoader 中的数据填充列表视图
我做了简单的测试应用程序基于此示例.有一个按钮,插入到数据库和列表视图的数据.都是在 MainActivity 中.在原来的代码是restartLoader() 仅从调用 onResume() ,但它 ...
- python 读取文本文档中的数据
import os dir = input('Please input the file dir:')#提示输入文件路径 while not os.path.exists(dir):#判断文件是否存在 ...
- 在服务端中,读取properties资源文件中的数据
1.获取到资源的路径 2.读取数据 //properties文件对象 Properties properties = new Properties(); //通过HttpServletRequest ...
- C++读取excel特定行列中的数据
可以通过COM API调用才是正解,不过需要编写COM接口类,Excel对象库的接口太多了……不过可以用工具自动生成. 我最近也在用VC操作Excel,在VC中可以这样做,在任何一个cpp文件中加入下 ...
- matlab读取txt文档中的数据
ps:文件中只有数字! format long fp=fopen('文件路径','打开方式(r)') [num,count]=fscnaf(fp,'%f')
随机推荐
- activemq 消息传送测试
activemq 5.10.0,topic messagelength字符 20000011 发送时间 接收时间 传送时间 毫秒 1 1443067284128 1443067288325 ...
- CMSIS-SVD Schema File Ver. 1.1 (draft)
http://www.keil.com/pack/doc/cmsis/svd/html/group__schema__1__1__gr.html <?xml version="1.0& ...
- Delphi XE 4,Rad Studio XE 4 官方下载,更新Update 1(附破解)
http://blog.csdn.net/maxwoods/article/details/8842889 XE4 Update1 下载: http://altd.embarcadero.com/do ...
- FAQ:领域服务和应用服务的职责是什么?
问答部分 问: 领域服务的职责是什么? 答: 夸聚合实例业务逻辑. 没办法合理放到实体中的其它业务逻辑. 问: 领域服务的设计原则是什么? 答: 用来组织业务逻辑. 面向业务逻辑. 细粒度. 内部视图 ...
- ajax成功返回数据中存在多余字符的处理
ajax里有需要判断反馈的字符串是否为“ok”,在浏览器里调试,看到返回的内容明明是“ok”,但是if(“ok”==data)判断为false,用alert打印内容也是ok,但是打印长度的时候却是3. ...
- Nuget server on IIS6 returns 404
Nuget server on IIS6 returns 404 when downloading package after upgrade 2011年9月2日 8:03:30 (GMT Dayli ...
- 在Spark中自定义Kryo序列化输入输出API(转)
原文链接:在Spark中自定义Kryo序列化输入输出API 在Spark中内置支持两种系列化格式:(1).Java serialization:(2).Kryo serialization.在默认情况 ...
- Informatica 常用组件Source Qualifier之四 SQL Query
源限定符转换提供 SQL 查询选项以覆盖默认的查询.您可以输入您的源数据库支持的 SQL 语句.输入查询之前,请连接您要在映射中使用的所有输入和输出端口. 编辑 SQL 查询时,您可以生成并编辑默认查 ...
- Servlet学习笔记(三):HTTP请求与响应
一.HTTP请求常用方法: Cookie[] getCookies()返回一个数组,包含客户端发送该请求的所有的 Cookie 对象. Enumeration getAttributeNames()返 ...
- delegate和event的区别 (zz)
一. delegate C#代理实际上类似于C++中的函数指针,因为C#中不存在指针,所以用代理可以完成一些原来在C++中用函数指针完成的操作,例如传递一个类A的方法m给另一个类B的对象,使得类B的对 ...