要检索手机上已安装的应用程序所需功能的列表

时间:2012-04-21 20:20:30

标签: java android installed-applications

我可以通过包管理器在我的代码中获取已安装应用程序的列表:

public ArrayList<InstalledAppData> importInstalledAppsData(){
        ArrayList<InstalledAppData> appList=new ArrayList<InstalledAppData>();
        PackageManager pkgManager=getApplicationContext().getPackageManager();
        List<ApplicationInfo> packages=getInstalledApplicationsList(pkgManager);
        String deviceId=Util.getDeviceId(getApplicationContext());

        for (ApplicationInfo packageInfo : packages) {
        String packageName=packageInfo.packageName;
        String appName="";
        String appFile = packageInfo.sourceDir;
        long installTime = new File(appFile).lastModified();
        String status="s";
        if ((packageInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 1) {
                appName = (String) pkgManager.getApplicationLabel(packageInfo);
            }
            else {
            appName = (String) pkgManager.getApplicationLabel(packageInfo);
        }                
        InstalledAppData data=new InstalledAppData(deviceId, packageName, appName, installTime, status);
            appList.add(data);


        }
        return appList;
    }

现在我想识别手机上当前启用了位置服务的所有已安装应用。我该怎么做? Thnx提前

1 个答案:

答案 0 :(得分:1)

  

我该怎么做?

你做不到。 Android SDK无法让一个应用程序监视另一个应用程序使用LocationManager

您可以注册PASSIVE_PROVIDER以查看任何人是否正在请求位置更新,但您无法将其绑定到特定应用程序。