android 检测应用程序信息
生活随笔
收集整理的這篇文章主要介紹了
android 检测应用程序信息
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
android系統(tǒng)監(jiān)測應(yīng)用的安裝,升級,卸載,可以通過??intent.getDataString().substring(8);
如下邊: public class PackageReceive extends BroadcastReceiver {
? ? ? ? @Override
? ? ? ? public void onReceive(Context context, Intent intent) {
? ? ? ? ? ? ? ? String action = intent.getAction();
? ? ? ? ? ? ? ? String packageName = intent.getDataString().substring(8);
? ? ? ? ? ? ? ? if (action.equals(Intent.ACTION_PACKAGE_ADDED)) {
? ? ? ? ? ? ? ? } else if (action.equals(Intent.ACTION_PACKAGE_REPLACED)) {
? ? ? ? ? ? ? ? } else if (action.equals(Intent.ACTION_PACKAGE_REMOVED)) {
? ? ? ? ? ? ? ? }
? ? ? ? }
} 復(fù)制代碼
這樣再廣播中就可以監(jiān)聽到發(fā)生變化的APP的包名了,其他信息可通過包名獲取:
/**
* 通過應(yīng)用包名獲取已安裝應(yīng)用信息
* @param packagename 包名
* @param ctx 上下文
*??返回當(dāng)前安裝的應(yīng)用信息
*/
public void getAppInfoByPackageName(String packagename,Context ctx) {
PackageInfo pI = null;
try {
pI = ctx.getPackageManager().getPackageInfo(packagename, 0);
} catch (NameNotFoundException e) {
e.printStackTrace();
}
//獲取軟件名稱
String appName = pI.applicationInfo.loadLabel(ctx.getPackageManager()).toString();
//獲取軟件圖標(biāo)
Drawable icon = pI.applicationInfo.loadIcon(ctx.getPackageManager());
//獲取軟件版本號
String versionName = String.valueOf(pI.versionName)
//獲取應(yīng)用大小
long appSize = new File(pI.applicationInfo.publicSourceDir).length() / 1024;
float lastSize = (float) (((int) (appSize / 1024.0 * 100)) / 100.0);
if (appSize >= 1024) {
//應(yīng)用大小為??lastSize + "MB"
} else {
//應(yīng)用大小為 appSize + "KB"
}
}
} 復(fù)制代碼
在此記錄。
如下邊:
總結(jié)
以上是生活随笔為你收集整理的android 检测应用程序信息的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云后台Bmob的一些资料
- 下一篇: 发现一个很不错的正则表达式生成器