博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android之读取 AndroidManifest.xml 中的数据:版本号、应用名称、自定义K-V数据(meta-data)...
阅读量:6327 次
发布时间:2019-06-22

本文共 2614 字,大约阅读时间需要 8 分钟。

 

转:http://www.2cto.com/kf/201208/151123.html

Android开发中我们常常需要知道,当前应用的版本信息。可以进行自动升级判断。扩展自定义数据 meta-data, 这些数据都在AndroidManifest.xml .我们如何获取这些信息呢?
下来示例如何读取这些数据。
1 版本信息、应用名称
2 Appliction 的Meta-data
3 Activity中的Meta-data
AndroidManifest.xml中的定义如下:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="hpc.cai.test01"
android:versionCode="1"
android:versionName="1.0" >
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<meta-data
android:name="tel"
android:value="cdma-13366350377" >
</meta-data>
<meta-data
android:name="channel"
android:value="eben" />
<activity
android:name="hpc.cai.test.Test1Activity"
android:label="@string/app_name" >
<meta-data
android:name="name"
android:value="自强不息" >
</meta-data>
<meta-data
android:name="city"
android:value="北京" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
java 代码:
/**
* activity MetaData读取
*/
private void testActivityMetaData() {
ActivityInfo info;
try {
info = getPackageManager().getActivityInfo(getComponentName(),
PackageManager.GET_META_DATA);
String msg = info.metaData.getString("name");
System.out.println("name:" + msg);
msg = info.metaData.getString("city");
System.out.println("city:" + msg);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* appliction MetaData读取
*/
private void testApplicationMetaData() {
ApplicationInfo info;
try {
info = this.getPackageManager().getApplicationInfo(
getPackageName(), PackageManager.GET_META_DATA);
String msg = info.metaData.getString("tel");
System.out.println("tel:" + msg);
msg = info.metaData.getString("channel");
System.out.println("channel:" + msg);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 测试版本信息
*/www.2cto.com
private void getVersion(){
PackageInfo pkg;
try {
pkg = getPackageManager().getPackageInfo(getApplication().getPackageName(), 0);
String appName = pkg.applicationInfo.loadLabel(getPackageManager()).toString();
String versionName = pkg.versionName;
System.out.println("appName:" + appName);
System.out.println("versionName:" + versionName);
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
输出如下:
16:37:54.442: I/System.out(10213): appName:Test1
16:37:54.442: I/System.out(10213): versionName:1.0
16:37:54.442: I/System.out(10213): tel:cdma-13366350377
16:37:54.442: I/System.out(10213): channel:eben
16:37:54.452: I/System.out(10213): name:自强不息
16:37:54.452: I/System.out(10213): city:北京

 

转载地址:http://qkwoa.baihongyu.com/

你可能感兴趣的文章
Linux 内存机制
查看>>
linux下定时任务
查看>>
SharePoint 2013 部署 Part 1
查看>>
DWGSee看图纸dwg文件阅读器免费下载地址
查看>>
高能天气——团队Scrum冲刺阶段-Day 1-领航
查看>>
ISI CVPR journal ranking
查看>>
free movie
查看>>
列表组
查看>>
CF 988E Divisibility by 25 思维 第十二
查看>>
Linux Shell多命令执行
查看>>
Java中的异常处理:何时抛出异常,何时捕获异常,何时处理异常?
查看>>
css3中的变形(transform)、过渡(transtion)、动画(animation)
查看>>
tomcat生产环境JDK部署及虚拟主机等常用配置详解
查看>>
web服务器tomcat入门实战
查看>>
AVEVA CSG 几何图形输出接口
查看>>
POJ 2653 Pick-up sticks(几何)
查看>>
【阶段试题分析】阶段一试题总结
查看>>
Python 模块调用
查看>>
HBase篇--HBase常用优化
查看>>
CMarkUp介绍
查看>>