【代码】android 开发获取当前手机中安装的全部App列表

来源:互联网 发布:易语言传奇登陆器源码 编辑:程序博客网 时间:2024/04/29 10:17
做安卓开发,如果你要开发一个用程序管理软件或者说要在你开发的某个应用程序中实现管理当前手机中的所有应用程序(也就是管理App的),你就需要获取当前手机所安装的所有App的列表,如何获取呢,本文提供一个方法,且看下面的例子:
public class GetAppInfoActivity extends Activity {private List<Map<String, Object>> data;Map<String, Object> item;private ListView listView = null;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);listView = new ListView(this);data = new ArrayList<Map<String, Object>>();listPackages();SimpleAdapter adapter = new SimpleAdapter(this, data,android.R.layout.simple_list_item_2, new String[] { "appname","pname" }, new int[] { android.R.id.text1,android.R.id.text2, });listView.setAdapter(adapter);setContentView(listView);}class PInfo {private String appname = "";private String pname = "";private String versionName = "";private int versionCode = 0;private Drawable icon;private void prettyPrint() {Log.i("taskmanger", appname + "\t" + pname + "\t" + versionName+ "\t" + versionCode + "\t");}}private void listPackages() {ArrayList<PInfo> apps = getInstalledApps(false); final int max = apps.size();for (int i = 0; i < max; i++) {apps.get(i).prettyPrint();item = new HashMap<String, Object>();item.put("appname", apps.get(i).appname);item.put("pname", apps.get(i).pname);data.add(item);}}private ArrayList<PInfo> getInstalledApps(boolean getSysPackages) {ArrayList<PInfo> res = new ArrayList<PInfo>();List<PackageInfo> packs = getPackageManager().getInstalledPackages(0);for (int i = 0; i < packs.size(); i++) {PackageInfo p = packs.get(i);if ((!getSysPackages) && (p.versionName == null)) {continue;}PInfo newInfo = new PInfo();newInfo.appname = p.applicationInfo.loadLabel(getPackageManager()).toString();newInfo.pname = p.packageName;newInfo.versionName = p.versionName;newInfo.versionCode = p.versionCode;newInfo.icon = p.applicationInfo.loadIcon(getPackageManager());res.add(newInfo);}return res;}}

本文获取当前手机的安装的所有App,并显示在ListView中,实例代码,希望能帮到广大安卓开发者,本文代码仅供参考,安卓开发者可以在本文基础上进行扩展。安卓技术问题欢迎加群探讨:278744577,验证码:csl,不写验证不予通过。
原创粉丝点击