Android学习总结(5)——9个非常有用的Andorid 程序片段
一,获取系统版本号:
PackageInfo info = this.getPackageManager().getPackageInfo(this.getPackageName(), 0);
int versionCode=nfo.versionCode
string versionName=info.versionNam
其实我们用的更多的是编译的版本号Build.VERSION.SDK_INT,范围从0到目前的24,也就是应用在哪个环境下运行,用法如下:
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){
//就做自己的操作
}
二、获取系统信息:
String archiveFilePath="sdcard/download/Law.apk";//安装包路径
PackageManager pm = getPackageManager();
PackageInfo info = pm.getPackageArchiveInfo(archiveFilePath, PackageManager.GET_ACTIVITIES);
if(info != null){
ApplicationInfo appInfo = info.applicationInfo;
String appName = pm.getApplicationLabel(appInfo).toString();
String packageName = appInfo.packageName; //得到安装包名称
String version=info.versionName; //得到版本信息
Toast.makeText(test4.this, "packageName:"+packageName+";version:"+version, Toast.LENGTH_LONG).show();
Drawable icon = pm.getApplicationIcon(appInfo);//得到图标信息
TextView tv = (TextView)findViewById(R.id.tv); //显示图标
tv.setBackgroundDrawable(icon);
三、获取安装路径和已安装程序列表
(1)android中获取当前程序路径
getApplicationContext().getFilesDir().getAbsolutePath()
(2)android取已安装的程序列表
List<PackageInfo> packageInfoList = getPackageManager().getInstalledPackages(0);
四、获取图片、应用名、包名
PackageManager pManager = MessageSendActivity.this.getPackageManager();
List<PackageInfo> appList = Utils.getAllApps(MessageSendActivity.this);
for(int i=0;i<appList.size();i++) {
PackageInfo pinfo = appList.get(i);
ShareItemInfo shareItem = new ShareItemInfo();
//set Icon
shareItem.setIcon(pManager.getApplicationIcon(pinfo.applicationInfo));
五、解决listview上 Item上有按钮时 item本身不能点击的问题:
1. 在item试图上面添加代码: android:descendantFocusability="blocksDescendants"
2.在listview里 添加代码 android:focusable="true"
六、不让文本框输入中文:
android:digits="1234567890qwertyuiopasdfghjklzxcvbnm`-=[]\;,./~!@#$%^*()_+}{:?&<>"'" 这样就不会输入中文了。
七,获取屏幕宽高
DisplayMetrics displayMetrics = new DisplayMetrics();
this.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int height = displayMetrics.heightPixels;
int width = displayMetrics.widthPixels;
八, 获取设备型号、SDK版本及系统版本
String device_model = Build.MODEL; // 设备型号
String version_sdk = Build.VERSION.SDK; // 设备SDK版本
int version_int = Build.VERSION.SDK_INT //获取设备版本号
String version_release = Build.VERSION.RELEASE; // 设备的系统版本
九,获取应用程序下所有Activity
public static ArrayList<String> getActivities(Context ctx) {
ArrayList<String> result = new ArrayList<String>();
Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.setPackage(ctx.getPackageName());
for (ResolveInfo info : ctx.getPackageManager().queryIntentActivities(intent, 0)) {
result.add(info.activityInfo.name);
}
return result;
}
Android学习总结(5)——9个非常有用的Andorid 程序片段相关推荐
- 20个非常有用的Java程序片段--转
原文地址:http://geek.csdn.net/news/detail/236591 下面是20个非常有用的Java程序片段,希望能对你有用. 1. 字符串有整型的相互转换 String a = ...
- 20个非常有用的Java程序片段
20个非常有用的Java程序片段 来源:码农网 时间:2015-03-17 10:23:28 阅读数:1057 分享到:0 [导读] 下面是20个非常有用的Java程序片段,希望能对你有用.1 ...
- 20非常有用的Java程序片段(1)
下面是20个非常有用的Java程序片段,希望能对你有用. 1. 字符串有整型的相互转换 String a = String.valueOf(2); //integer to numeric str ...
- java 程序片段_20个非常有用的Java程序片段
1. 字符串有整型的相互转换 Java代码 String a = String.valueOf(2); //integer to numeric string int i = Integer.pa ...
- 20非常有用的Java程序片段(3)
15. 创建ZIP和JAR文件 import java.util.zip.*; import java.io.*; publicclass ZipIt { publicstaticvoid main( ...
- 20非常有用的Java程序片段(11-15)
11. HTTP 代理设置 阅读这篇 文章 了解更多细节. 1 2 3 4 5 System.getProperties().put("http.proxyHost", " ...
- 一篇文章一张思维导图看懂Android学习最佳路线
一篇文章一张思维导图看懂Android学习最佳路线 先上一张android开发知识点学习路线图思维导图 Android学习路线从4个阶段来对Android的学习过程做一个全面的分析:Android初级 ...
- Android学习路线总结
title: Android学习路线总结,绝对干货 tags: Android学习路线,Android学习资料,怎么学习android grammar_cjkRuby: true --- 一.前言 不 ...
- Android学习指南
目录 核心分析内容 1.学什么 1.1.Android基础 & 常用 1.2.Android进阶 1.3.与时俱进.热门技术 1.4.编程语言:Java与Java虚拟机 1.5.计算机基础 1 ...
最新文章
- 如何强制Visual Studio重新生成aspx / ascx文件的.designer文件?
- 2020-11-5(安卓)
- virtualenvwrapper 的安装和使用
- Android--通知之Notification
- matlab从矩阵中取rp开头文件,matlab trainrp
- mysql如何实现管理权限分离_基于SpringCloud+vue(ElementUI)+mySQL前后端分离设计之--搭建权限管理系统...
- hive拉链表实现方案一
- vs2015 + opencv3.4.0 + qt msvc2015_64-5.7.1 显示图像
- 自编基于jQuery实现分页插件
- innodb redo buffer的认识
- html站点的定义,HTML是什么?您构建网页的一站式解决方案
- 初识小熊派——小熊派功能简介
- UltraEdit 25以后的版本 绕过试用期
- 慧荣SM2246EN开卡Toggle 8贴东芝闪存SSD失败解决方法
- 13 【操作mysql数据库】
- 你打英雄联盟or王者荣耀为什么老是匹配到怨种队友,进来看
- 怎么让计算机响音乐,如何让电脑声音更大一点
- win10 汇编工具 em8086安装
- 通过Kong实现金丝雀发布
- 葡萄牙Sapo Mail青蛙邮箱 免费16GB电子邮箱
热门文章
- xshell连接成功但无法输入命令_如何解决cisco设备无法进入系统问题?
- 防止linux系统文件被误删除,Linux系统防止误删除文件
- 什么是线程单线程和多线程_什么是多线程?看我多线程七十二变,你能记住吗?...
- gradle是干什么_gradle和ant等构建工具有什么核心优势?
- 帆软报表在已经搭载服务器上开发_史上最全企业数据产品选型对比(含数仓、报表、BI、中台、数据治理)...
- java web权限设计_java web简单权限管理设计
- php rpoplpush,Redis Rpoplpush 命令
- cname 别名记录 解析过程_西部数码操作解析:如何为服务器创建别名地址
- oracle 索引 序列,【Oracle】表、视图、序列、索引
- Node.js ES6模块化