常用代碼塊,代碼
一,擷取系統版本號碼:
PackageInfo info = this.getPackageManager().getPackageInfo(this.getPackageName(), 0);int versionCode=nfo.versionCodestring versionName=info.versionName
二、擷取系統資訊:
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版本 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;}