众所周知,通过PackageManager可以获取手机端已安装的apk文件的信息,具体代码如下
PackageManager pManager = context.getPackageManager();
//获取手机内所有应用
List paklist = pManager.getInstalledPackages(0);
直接上代码
package com.example.administrator.androidtestdemo.manager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import java.util.ArrayList;
import java.util.List;
public class PackageInfoManager {
/**
* 查询手机内非系统应用
* @param context
* @return
*/
public static List getAllApps(Context context) {
List apps = new ArrayList();
PackageManager pManager = context.getPackageManager();
//获取手机内所有应用
List paklist = pManager.getInstalledPackages(0);
for (int i = 0; i < paklist.size(); i++) {
PackageInfo pak = (PackageInfo) paklist.get(i);
//判断是否为非系统预装的应用程序
if ((pak.applicationInfo.flags & pak.applicationInfo.FLAG_SYSTEM) |