一、擷取系統版本號碼:
PackageInfo info = this.getPackageManager().getPackageInfo(this.getPackageName(), 0);
int versionCode=info.versionCode
string versionName=info.versionNam
二、擷取系統資訊:
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 packageInfoList = getPackageManager().getInstalledPackages(0);
四、擷取圖片、應用程式名稱、包名
PackageManager pManager = MessageSendActivity.this.getPackageManager();
List appList = Utils.getAllApps(MessageSendActivity.this);
for(int i=0;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版本
String version_release = Build.VERSION.RELEASE; // 裝置的系統版本
九,擷取應用程式下所有Activity
public static ArrayList getActivities(Context ctx) {
ArrayList result = new ArrayList();
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;
}