Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 在Android手機上獲取其他應用的包名及版本號

在Android手機上獲取其他應用的包名及版本號

編輯:關於Android編程

 

獲取Android手機上其他應用的包名及版本號方法有很多,可以通過AAPT從APK包中直接獲取,也可以通過代碼在手機上獲取。顯然,對於產品或者用戶來說要獲取這些信息,在手機上獲取更為簡便。

 

下面我們來看下如何在手機上獲取其他應用的包名、版本號。

核心:通過PackageManager可以獲取到我們想要的信息,例如:程序圖標、程序名稱、包名、VersionName、VersionCode等。

 

	/*
	 * @Author Sun Ruichuan
	 * 
	 * */
	
	public ArrayList> getItems(Context context) {

		PackageManager pckMan = context.getPackageManager();
		ArrayList> items = new ArrayList>();

		List packageInfo = pckMan.getInstalledPackages(0);

		for (PackageInfo pInfo : packageInfo) {

			HashMap item = new HashMap();

			item.put(appimage, pInfo.applicationInfo.loadIcon(pckMan));
			item.put(packageName, pInfo.packageName);
			item.put(versionCode, pInfo.versionCode);
			item.put(versionName, pInfo.versionName);
			item.put(appName, pInfo.applicationInfo.loadLabel(pckMan).toString());

			items.add(item);

		}

		return items;
	}


 

在獲取到所需要的信息後即可將這些信息放入到自定義的ListAdaptar裡。

 

class MyAdapter extends BaseAdapter {

		public class Holder {
			TextView tv_pakagename;
			TextView tv_versioncode;
			TextView tv_versionname;
			TextView tv_appname;
			ImageView iv_logo;
		}

		@Override
		public int getCount() {
			return allProcess.size();
		}

		@Override
		public HashMap getItem(int position) {
			return allProcess.get(position);
		}

		@Override
		public long getItemId(int position) {
			return position;
		}

		@Override
		public View getView(int position, View convertView, ViewGroup parent) {

			Holder holder;
			View v;

			if (convertView == null) {
				holder = new Holder();
				v = LayoutInflater.from(getApplicationContext()).inflate(
						R.layout.list_menu, null);

				holder.tv_pakagename = (TextView) v
						.findViewById(R.id.tv_pakagename);
				holder.tv_versioncode = (TextView) v
						.findViewById(R.id.tv_versioncode);
				holder.tv_versionname = (TextView) v
						.findViewById(R.id.tv_versionname);
				holder.iv_logo = (ImageView) v.findViewById(R.id.iv_logo);
				holder.tv_appname = (TextView) v.findViewById(R.id.tv_appname);
				v.setTag(holder);
			} else {
				v = convertView;
				holder = (Holder) v.getTag();
			}

			holder.tv_pakagename.setText(包名:
					+ allProcess.get(position).get(packageName).toString());
			holder.tv_versioncode.setText(VersionCode:
					+ allProcess.get(position).get(versionCode).toString());
			holder.tv_versionname.setText(VersionName:
					+ allProcess.get(position).get(versionName).toString());
			holder.iv_logo.setImageDrawable((Drawable) allProcess.get(position)
					.get(appimage));
			holder.tv_appname.setText(App名稱:
					+ allProcess.get(position).get(appName).toString());

			return v;
		}

	}

這樣就完成了相應的工作。

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved