android 获取系统内所有应用的信息
2012-08-09 15:25
155 查看
import java.util.ArrayList; import java.util.Collections; import java.util.List; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.util.Log; public class RunningAppInfoParam { private Context m_context; private static final String LogTag = "hello"; public RunningAppInfoParam(Context context) { m_context = context; } public List<ApplicationInfo> getInstallAppInfo() { PackageManager mypm = m_context.getPackageManager(); List<ApplicationInfo> appInfoList = mypm.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES); Collections.sort(appInfoList, new ApplicationInfo.DisplayNameComparator(mypm));// 排序 for(ApplicationInfo app: appInfoList) { //Log.v(LogTag, "RunningAppInfoParam getInstallAppInfo app label = " + (String)app.loadLabel(umpm)); //Log.v(LogTag, "RunningAppInfoParam getInstallAppInfo app packageName = " + app.packageName); } return appInfoList; } //获取第三方应用信息 public ArrayList<String> getThirdAppInfo() { List<ApplicationInfo> appList = getInstallAppInfo(); List<ApplicationInfo> thirdAppList = new ArrayList<ApplicationInfo>(); thirdAppList.clear(); for (ApplicationInfo app : appList) { //非系统程序 if ((app.flags & ApplicationInfo.FLAG_SYSTEM) <= 0) { thirdAppList.add(app); } //本来是系统程序,被用户手动更新后,该系统程序也成为第三方应用程序了 else if ((app.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0){ thirdAppList.add(app); } } PackageManager mypm = m_context.getPackageManager(); ArrayList<String> thirdAppNameList = new ArrayList<String>(); for(ApplicationInfo app : thirdAppList) { Log.v(LogTag, "RunningAppInfoParam getThirdAppInfo app label = " + (String)app.loadLabel(mypm)); thirdAppNameList.add((String)app.loadLabel(mypm)); } return thirdAppNameList; } //获取系统应用信息 public ArrayList<String> getSystemAppInfo() { List<ApplicationInfo> appList = getInstallAppInfo(); List<ApplicationInfo> sysAppList = new ArrayList<ApplicationInfo>(); sysAppList.clear(); for (ApplicationInfo app : appList) { if ((app.flags & ApplicationInfo.FLAG_SYSTEM) != 0) { sysAppList.add(app); } } PackageManager mypm = m_context.getPackageManager(); ArrayList<String> sysAppNameList = new ArrayList<String>(); for(ApplicationInfo app : sysAppList) { Log.v(LogTag, "RunningAppInfoParam getThirdAppInfo app label = " + (String)app.loadLabel(mypm)); sysAppNameList.add((String)app.loadLabel(mypm)); } return sysAppNameList; } }
相关文章推荐
- android获取所有应用信息,判断系统应用或第三方应用,监听应用安装和卸载
- [置顶] Android中高仿快牙实现Socket列表的展示,获取安卓手机系统安装的应用和自己安装的应用相关信息
- Android 获取系统中所有安装的APK的信息
- [置顶] Android中高仿快牙实现Socket列表的展示,获取安卓手机系统安装的应用和自己安装的应用相关信息
- Android之获取手机上已安装的所有的应用程序的信息,并判断是否安装了某应用程序(系统程序或非系统应用程序判断)
- 获取所有应用信息,判断系统应用或第三方应用,监听应用安装和卸载
- android 获取系统安装的所有的浏览器应用
- Android中获取应用系统中应用信息接口
- Android系统应用开发(二)有条件的获取所有app以及自定义
- Android开发之获取系统所有进程信息。
- Android系统获取应用的Crash信息,保存在本地(可以自己实现上传到自己的服务器)
- Android获取系统已安装应用软件程序(apk)信息
- Android 获取系统应用信息
- Android逆向之旅---获取加固后应用App的所有方法信息
- Android 获取系统应用信息
- Android系统信息和Apk应用信息获取
- Android 获取所有已安装应用信息(图标,名称,版本号,包) ,并在自己程序打开某个应用
- 关于获取Android系统所有已安装App信息的一些操作(详细)
- android 获取当前系统及应用信息(一)
- Android逆向之旅---获取加固后应用App的所有方法信息