一、获取系统版本号:
PackageInfoinfo=this.getPackageManager().getPackageInfo(this.getPackageName(),0);
intversionCode=info.versionCode
stringversionName=info.versionNam
二、获取系统信息:
StringarchiveFilePath="sdcard/download/Law.apk";//安装包路径
PackageManagerpm=getPackageManager();
PackageInfoinfo=pm.getPackageArchiveInfo(archiveFilePath,PackageManager.GET_ACTIVITIES);
if(info!=null){
ApplicationInfoappInfo=info.applicationInfo;
StringappName=pm.getApplicationLabel(appInfo).toString();
StringpackageName=appInfo.packageName;//得到安装包名称
Stringversion=info.versionName;//得到版本信息
Toast.makeText(test4.this,"packageName:"+packageName+";version:"+version,Toast.LENGTH_LONG).show();
Drawableicon=pm.getApplicationIcon(appInfo);//得到图标信息
TextViewtv=(TextView)findViewById(R.id.tv);//显示图标
tv.setBackgroundDrawable(icon);
三、获取安装路径和已安装程序列表
(1)android中获取当前程序路径
getApplicationContext().getFilesDir().getAbsolutePath()
(2)android取已安装的程序列表
List<PackageInfo>packageInfoList=getPackageManager().getInstalledPackages(0);
四、获取图片、应用名、包名
PackageManagerpManager=MessageSendActivity.this.getPackageManager();
List<PackageInfo>appList=Utils.getAllApps(MessageSendActivity.this);
for(inti=0;i<appList.size();i++){
PackageInfopinfo=appList.get(i);
ShareItemInfoshareItem=newShareItemInfo();
//setIcon
shareItem.setIcon(pManager.getApplicationIcon(pinfo.applicationInfo));
五、解决listview上Item上有按钮时item本身不能点击的问题:
1.在item试图上面添加代码:android:descendantFocusability="blocksDescendants"
2.在listview里添加代码android:focusable="true"
六、不让文本框输入中文:
android:digits="1234567890qwertyuiopasdfghjklzxcvbnm`-=[]\;,./~!@#$%^*()_+}{:?&<>"'"这样就不会输入中文了。
七,获取屏幕宽高
DisplayMetricsdisplayMetrics=newDisplayMetrics();
this.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
intheight=displayMetrics.heightPixels;
intwidth=displayMetrics.widthPixels;
八获取设备型号、SDK版本及系统版本
Stringdevice_model=Build.MODEL;//设备型号
Stringversion_sdk=Build.VERSION.SDK;//设备SDK版本
Stringversion_release=Build.VERSION.RELEASE;//设备的系统版本
九,获取应用程序下所有Activity
publicstaticArrayList<String>getActivities(Contextctx){
ArrayList<String>result=newArrayList<String>();
Intentintent=newIntent(Intent.ACTION_MAIN,null);
intent.setPackage(ctx.getPackageName());
for(ResolveInfoinfo:ctx.getPackageManager().queryIntentActivities(intent,0)){
result.add(info.activityInfo.name);
}
returnresult;
}