Android获取已安装应用信息(图标,名称,版本号,包)
html
Android畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨 鑾峰彇宸插瑁呭俊鎭鍥炬屽悕帮紝鐗堟紝鍖
Android 畨畨畨畨畨畨畨畨畨畨畨畨 鑿滃競笂鏈変竴惧緝ShareApp畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨屽彲ユ猴紝,悊屽浜ndroid鎵
畨畨畨畨畨畨畨畨畨畨満涓瑁搴旂
畨畨畨畨畨畨畨畨畨畨畨畨畨畨?畨畨畨畨畨畨畨畨畨畨?畨畨畨畨畨畨畨畨浣嗘杈鐖界鏄紝瀹冩寰堝粺鑷甫搴芥簡鍑烘繖浜搴忓線寰鏃鍗歌,
勶紝鏇存娉浜畨畨畨畨畨畨畨?畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨紝璁?宸插瑁呭搴垪琛甯稿涔便,
畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨鎴戝鎵満涓婅繍琛屼簡涓粨鏋淕talk,DRMService畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨簺粺搴旂芥哄嚭鏉ヤ簡..
姣緝涓嶇畨畨畨畨畨畨
畨畨畨畨?畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨?畨畨浜庢鑷繁鍐簡涓搴紝嬬湅戒藉彧鏄ず鑷繁瀹搴忋
畨畨畨嬪澶ф畨畨畨畨畨鍒嗘垚涓変釜
1.畨畨畨畨畨畨畨畨畨畨畨畨畨鑾峰彇鎵満宸插瑁鎵搴旂package畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨勪俊鎭腑鍖呮鑷繁瀹勶紝樻畨畨畨畨畨畨粺鑷甫
2.畨畨畨畨畨畨畨畨畨畨畨畨ら粺鑷甫搴旂
3.畨畨畨畨畨?畨畨畨畨畨閫氳繃鍒〃鏄ず鍑哄搴鍥炬(icon),畨畨畨畨畨畨畨畨畨畨畨畨畨鍜屽栨瀛俊鎭搴旂鍚嶇О畨屽寘鍚嶇
Оpackage name,畨畨畨畨畨鐗堟
畨畨畨畨畨畨畨畨畨?畨畨畨畨棣栧垜畾涔変竴涓暟鎹粨鏋勶紝鏉ヤ繚瀛樺:搴俊鎭
icon,name,packageName,versionName,versionCode,畨
public
class
AppInfo {
public
String appName
=
;
public
String packageName
=
;
public
String versionName
=
;
public
int
versionCode
=
0
;
public
Drawable appIcon
=
null
;
public
void
print()
{
Log.v(
app
,
Name:
+
appName
+
Package:
+
packageName);
Log.v(
app
,
Name:
+
appName
+
versionName:
+
versionName);
Log.v(
app
,
Name:
+
appName
+
versionCode:
+
versionCode);
}
}
畨畨悗鎴戜滑閫氳繃PackageManager 畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨鏉ヨ栧凡瀹寘淇?
畨畨畨rrayList AppInfo appList = new ArrayList AppInfo (); //畨畨畨畨畨畨畨畨畨畨畨瀛樺鑾峰彇
畨 俊鎭暟鎹,
畨畨畨ist
PackageInfo
packages
=
getPackageManager().getInstalledPackages(
0
);
for
(
int
i
=
0
;i
packages.size();i
++
) {
PackageInfo packageInfo
=
packages.get(i);
AppInfo tmpInfo
=
new
AppInfo();
tmpInfo.appName
=
packageInfo.applicationInfo.loadLabel(getPackageManager()).toString();
tmpInfo.packageName
=
packageInfo.packageName;
tmpInfo.versionName
=
packageInfo.versionName;
tmpInfo.versionCode
=
packageInfo.versionCode;
tmpInfo.appIcon
=
packageInfo.applicationInfo.loadIcon(getPackageManager());
appList.add(tmpInfo);
}
// 畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨?濂藉暒鎵満涓瑁搴旂鏁版藉瓨ppList畨 閲屼簡
畨畨畨畨畨畨畨畨畨畨畨畨畨畨閭,箞濡備綍鍒ゆ涓釜搴旂鏄涓虹郴,?
if
((packageInfo.applicationInfo.flags
ApplicationInfo.FLAG_SYSTEM)
==
0
)
{
//
畨畨畨畨畨畨 闈郴
}
else
{
//畨畨畨畨畨畨畨粺搴旂
}
畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨鎵互濡傛灉渶瑕佽栧埌闈郴俊鎭紝,濡備,:
ArrayList AppInfo appList = new ArrayList AppInfo (); //畨畨畨畨畨畨畨畨畨畨畨畨瀛樺鑾峰彇
俊鎭暟鎹,
List
PackageInfo
packages
=
getPackageManager().getInstalledPackages(
0
);
for
(
int
i
=
0
;i
packages.size();i
++
) {
PackageInfo packageInfo
=
packages.get(i);
AppInfo tmpInfo
=
new
AppInfo();
tmpInfo.appName
=
packageInfo.applicationInfo.loadLabel(getPackageManager()).toString();
tmpInfo.packageName
=
packageInfo.packageName;
tmpInfo.versionName
=
packageInfo.versionName;
tmpInfo.versionCode
=
packageInfo.versionCode;
tmpInfo.appIcon
=
packageInfo.applicationInfo.loadIcon(getPackageManager());
//
Only display the non-system app info
if
((packageInfo.applicationInfo.flags
ApplicationInfo.FLAG_SYSTEM)
==
0
)
{
appList.add(tmpInfo);//畨畨畨畨畨畨畨畨畨畨畨畨畨畨濡傛灉闈郴紝鍒欐坊鍔嚦appList
}
}
畨畨畨畨畨畨畨畨畨畨畨畨鏈悗垜彲ヨ瀹箟涓釜:app_row.xml畨刲ayout 畨畨畨畨畨畨畨畨畨畨囦鏉ユ篴ppList畨畨畨畨畨涓鏁版
畨畨畨畨畨畨畨畨畨畨畨鏄鏄湅鐫浜綖綖,,(畨畨畨畨畨畨畨畨畨畨畨畨鎴戝姣閲屽彧鏄ず浜唅con 鍜appName畨畨畨畨畨畨畨屼涔彲ヤ慨筧畨畨pp_row.xml 鍜AppAdapter 畨畨畨畨畨畨畨畨畨畨畨畨畨鍚庢烘洿澶淇?)
澶у畨畨畨畨畨畨畨畨畨畨,互鎴戠婧:
畨畨畨畨畨畨畨畨婧涓嬭板:
畨畨畨畨畨畨畨鎴戠鑱旂郴瑰紡:
twitter: @mainroadlee
#!/mainroadlee
talkbox id:mainroadlee
畨畨:
1. [Android畨畨鍒] Android 畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨 寰埌宸插瑁搴旂嬪淇?
畨畨畨畨畨畨畨畨畨畨畨畨畨璇ユ涓弿簡濡備綍鑾峰彇Android 畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨宸插瑁呭俊鎭紝浣嗗叧浜郴鍒,
ゆ瀛樺閿欒畨畨畨畨畨畨畨畨畨畨畨
2. Android畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨畨?畨涓囦鍖哄粺嬪鍜屽瑁搴
畨鏍,:
Android,
畨畨畨畨畨畨畨 搴旂嬪淇?