0

パッケージ マネージャーを使用して、コードにインストールされているアプリケーションのリストを取得できます。

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;
    }

現在位置情報サービスが有効になっている電話にインストールされているすべてのアプリを特定したいのですが、どうすればよいですか? 事前にt​​hnx

4

1 に答える 1

1

これどうやってするの?

できません。Android SDK には、あるアプリケーションが別のアプリケーションによる の使用をスパイする手段がありませんLocationManager

に登録して、誰かがたまたま位置情報の更新を要求しているかどうかを確認できますが、それを特定のアプリケーションに結び付けることはできませんPASSIVE_PROVIDER

于 2012-04-21T20:23:17.363 に答える