android實用代碼塊

來源:互聯網
上載者:User

一、擷取系統版本號碼:

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;

}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.