用meta-data配置参数
- <!-- appid -->
- <meta-data
- android:name="APP_ID"
- android:value="037810BCE1D2260F32017643AC7D980C" />
- <!-- 发布渠道(可选) -->
- <meta-data
- android:name="APP_CHANNEL"
- android:value="QQ_CENTER" />
标签<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>
java代码如下
- ActivityInfo actInfo = mContext.getPackageManager().getActivityInfo(
- getComponentName(), PackageManager.GET_META_DATA);
- String msg = actInfo.metaData.getString("activity_name");
二,在service中
xml中配置如下
- <!-- 服务 -->
- <service android:name=".MyService">
- <meta-data android:name="service_name" android:value="service_value" />
- </service>
java代码如下
- 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" />
java代码如下
- 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>
java代码如下
- 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之类的参数。
用meta-data配置参数的更多相关文章
- Scala调用Kafka的生产者和消费者Demo,以及一些配置参数整理
kafka简介 Kafka是apache开源的一款用Scala编写的消息队列中间件,具有高吞吐量,低延时等特性. Kafka对消息保存时根据Topic进行归类,发送消息者称为Producer,消息接受 ...
- MySQL Cluster 7.3.5 集群配置参数优化(优化篇)
按照前面的教程:MySQL Cluster 7.3.5 集群配置实例(入门篇),可快速搭建起基础版的MySQL Cluster集群,但是在生成环境中,还是有很多问题的,即配置参数需要优化下, 当前生产 ...
- mha配置参数详解
mha配置参数详解: 参数名字 是否必须 参数作用域 默认值 示例 hostname Yes Local Only - hostname=mysql_server1, hostname=192.168 ...
- MySql配置参数很全的Mysql配置参数说明
MySql配置参数 很全的Mysql配置参数说明 1. back_log 指定MySQL可能的连接数量.当MySQL主线程在很短的时间内得到非常多的连接请求,该参数就起作用,之后主线程花些时间(尽管很 ...
- Spark配置参数详解
以下是整理的Spark中的一些配置参数,官方文档请参考Spark Configuration. Spark提供三个位置用来配置系统: Spark属性:控制大部分的应用程序参数,可以用SparkConf ...
- MongoDB启动文件配置参数详解
接手的MongoDB只有一个日志文件,体积非常大,排错不便.在找解决办法的时候发现MongoDB的启动文件配置项超级多,于是产生了解释配置参数的想法. mongod服务有两种启动方式 一种是通过配置文 ...
- 【记】研究Sharding-JDBC遇到的一个异常(Caused by: io.shardingsphere.core.exception.ShardingException: Cannot get uniformed table structure for `t`. The different meta data of actual tables are as follows)
一.异常信息 Caused by: io.shardingsphere.core.exception.ShardingException: Cannot get uniformed table str ...
- MHA配置参数详解 【转】
mha配置参数详解: 参数名字 是否必须 参数作用域 默认值 示例 hostname Yes Local Only - hostname=mysql_server1, hostname=192.168 ...
- php源码安装常用配置参数和说明
常用的配置参数1. --prefix=/usr/local/php 指定 php 安装目录 install architecture-independent files in PREFIX 默认/us ...
- nfs的无敌时间更改的配置参数
nfs服务端重启之后,共享文件夹进入grace time(无敌时间) 客户端在服务端重启后写入数据大概要等90秒 nfs配置文件:/etc/sysconfig/nfs [root@backup ~]# ...
随机推荐
- JAVA线程同步辅助类CountDownLatch
一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待. 用给定的计数 初始化 CountDownLatch.由于调用了 countDown() 方法,所以在当前计数到达 ...
- 【UML】如何记忆UML类图的画法
前言 UML类图形象反映系统类之间的关系,大家非常常用.小弟不才,偶尔使用,往往每次使用都得查询各种关系的表示方式.终于,这次认真看了几遍,打算记起来. 注意 记忆方法只是本人联想,用于加强记忆.与该 ...
- dojox.grid.DataGrid
创建表格 <table data-dojo-type="dojox.grid.DataGrid" data-dojo-id="grid" style=&q ...
- jQuery判断当前元素是第几个元素
$("ul li").click(function () { var index = $("ul li").index(this); alert(index); ...
- printf("%*s%s%*s",——)是什么?
我们可能知道scanf里用*修饰符,是起到过滤读入的作用.比如一个有三列数值的数据,我只想得到第2列数值,可以在循环里用scanf(“%*d%d%*d”, a[i])来读入第i行的第2个数值到a[i] ...
- 用JavaBean实现数据库的连接和关闭,在jsp页面输出数据库中student表中学生的信息
package com.hanqi.test; import java.sql.*; public class XveSheng { Connection conn; Statement st; Re ...
- 简单的SpringMVC的测试项目----跟struts2对比着学习
一,搭建SpringMVC项目 1,主配置文件-----地基 because,不像struts2是个独立的框架,可以脱离Spring单独使用.需要先添加Spring支持,是Spring框架组成的一部分 ...
- Windows Internals学习笔记(八)IO系统
参考资料: 1. <Windows Internals> 知识点: ● 当一个进
- javascript Demo
var vm=(function(){ var name="jasper"; var changename=function(v){ name=v; }; return { nam ...
- jQuery通过判断 checkbox 元素的 checked 属性,判断 checkbox是否被选中
jQuery设置复选框的属性<input type="checkbox"/> $("input").attr("checked" ...