用meta-data配置参数
来源:互联网 发布:解析json xml内容错误 编辑:程序博客网 时间:2024/06/05 17:17
故事是这样的,那天我看一个第三方平台提供的demo,发现manifest里面有几个meta-data标签,不知道什么意思。虽然大致猜到了是用来配置参数常量的,但还是想探个究竟。它是这么写的<!-- 配置的第三方参数属性 -->
<meta-data android:name="appid" android:value="b03c5cfef65ed30108f0a3fd82c3f6b4" /><meta-data android:name="appsecret" android:value="LWLPg7pU4cwrcyy8PwDeGuaY0BHUoX" />
<meta-data android:name="appkey" android:value="110000" />
这三个标签是写在application下面的。后来我又搜了一下,meta-data还可以出现在activity,receiver,service标签中。包括上面的application中。一共有四个地方可以使用到。
一,在activity中
xml中配置如下
- <!-- 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>
- ActivityInfo actInfo = mContext.getPackageManager().getActivityInfo(
- getComponentName(), PackageManager.GET_META_DATA);
- String msg = actInfo.metaData.getString("activity_name");
xml中配置如下
- <!-- 服务 -->
- <service android:name=".MyService">
- <meta-data android:name="service_name" android:value="service_value" />
- </service>
- 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");
三,在application中
xml中配置如下
- <!-- app -->
- <meta-data android:name="application_name" android:value="application_value" />
- ApplicationInfo appInfo = this.getPackageManager().getApplicationInfo(
- getPackageName(), PackageManager.GET_META_DATA);
- String msg = appInfo.metaData.getString("application_name");
四,在receiver中,也就是广播接收者(拨打电话的时候会看到toast消息)
xml中配置如下
- <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>
- 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();
- }
这个数据配置为什么要这么写,我还没发现它的好,以后慢慢领悟再来续写。我觉得大可以写一个ConstData类来存放id,key之类的参数。
下载demo:http://download.csdn.net/detail/r8hzgemq/4815141
0 0
- 用meta-data配置参数
- 用meta-data配置参数
- 用meta-data配置参数
- Android 用meta-data配置参数
- Android meta-data 参数的获取
- Meta Data
- meta-data
- <meta-data>
- meta-data
- meta-data
- Hive-0.11.0 安装配置过程(MySQL存储meta data)
- sql2005 meta data
- meta-data使用
- android meta-data
- Android <meta-data>
- Android <meta-data>
- <meta-data>说明
- meta-data的说明
- bower解决js的依赖管理备记
- mysql navicat导出表的三种方法
- [综合面试] 2014校招暑假实习生面经(阿里、百度offer)
- Tomcat Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
- poj3352
- 用meta-data配置参数
- (四)脚本上下文
- MacOS安装mod_python
- Cenos 6.4 下安装 Cassandra 2.0.7
- 清除浮动
- 有很多人都自己喜欢蛋疼,那就尽情的疼吧。。。
- 哦哈水电费偶回去啊够了去韩国哦亲联合国哦亲换个怄气
- 一个经过改良的XMLHelper(包含了序列化,反序列化,创建xml文件,读取节点
- WTK -- Wayland Tool Kit