android中得到所有安装的应用程序及区分其是否为系统应用程序还是用户应用程序

/**
 * return the list of the phone application
 * @return
 */
public List<AppManagerInfo> getAppManagerInfo(){
	List<AppManagerInfo> lists = new ArrayList<AppManagerInfo>();
	List<PackageInfo> infos = manager.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES);
	
	for (PackageInfo packageInfo : infos) {
		AppManagerInfo myApp = new AppManagerInfo();
		String packName = packageInfo.packageName;
		myApp.setPackName(packName);
		ApplicationInfo applicationInfo = packageInfo.applicationInfo;
		Drawable icon = applicationInfo.loadIcon(manager);
		myApp.setIcon(icon);
		String appName = (String) applicationInfo.loadLabel(manager);
		myApp.setAppName(appName);
		if(filterApp(applicationInfo)){
			Log.i(TAG, "三方应用");
			myApp.setSystemApp(false);
		}else{
			Log.i(TAG, "系统应用");
			myApp.setSystemApp(true);
		}
		lists.add(myApp);
	}
	
	return lists;
	
}

思路:1.首先的到PackageManager对象

            2.调用PackageManager对象的getInstalledPackages方法得到所用应用程序的PackageInfo的对象列表

           3.如代码

怎样判断一样应用程序是否是系统应用程序?

           可以参照手机系统应用Setting来的到

          Setting下载地址:https://github.com/android/platform_packages_apps_settings




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值