アプリの画面にのみ表示されているすべてのパッケージを取得する方法:それが正常に動作します私は、すべてのインストールのapkを取得しようとしました
public ArrayList<InfoObject> getInstalledApps(boolean getSysPackages) {
ArrayList<InfoObject> res = new ArrayList<InfoObject>();
List<PackageInfo> packs = mContext.getPackageManager().getInstalledPackages(0);
for(int i=0;i<packs.size();i++) {
PackageInfo p = packs.get(i);
Log.v("PACKAGE GET","" +p.packageName + "flags => " + p.applicationInfo.flags);
/* if ((p.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
continue ;
}*/
InfoObject newInfo = new InfoObject();
newInfo.appname = p.applicationInfo.loadLabel(mContext.getPackageManager()).toString();
newInfo.pname = p.packageName;
newInfo.versionName = p.versionName;
newInfo.versionCode = p.versionCode;
newInfo.icon = p.applicationInfo.loadIcon(mContext.getPackageManager());
res.add(newInfo);
}
return res;
}
!! ApplicationInfo.FLAG_SYSTEMと
しかしApplicationInfo.FLAG_SYSTEMせずに、私は私のインストールAPK(フェイスブック、スカイプ)を表示
、私はすべてのAPK(フェイスブック、スカイプ)と、すべてのシステムのAPKを示しました。
私の問題は、システムapkからアプリケーションのみをフィルタリングする方法が私のアプリケーションメニューに存在するということです。例えば
:私はアルバムのカメラのFacebook ... とノーdevicemonitor、InputDevicesを得るために必要 、メモワールはここ
おかげ