小编Akh*_* Sk的帖子

如何获取android中所有非系统应用程序的列表

我正在开发一个应用程序,我希望获得所有非系统应用程序的列表.这是我的代码部分:

TextView tv = new TextView(this);
        this.setContentView(tv);

        ActivityManager actvityManager = (ActivityManager)
        this.getSystemService( ACTIVITY_SERVICE );
        PackageManager pm = this.getPackageManager();
        List<PackageInfo> list =pm.getInstalledPackages(0);

        for(int i=0;i<list.size();i++)
        {
            System.out.println("list"+i+"   "+list.get(i));
        }

        for(PackageInfo pi : list) 
        {
            try
            {
                ApplicationInfo ai=pm.getApplicationInfo(pi.packageName, 0);

                if (ai.sourceDir.startsWith("/data/app/"))
                {
                    tv.setText(ai.className);// non system apps
                }
                else 
                {
                     System.out.println("system apps");// system apps
                }
            }
            catch(Exception e)
            {
                e.printStackTrace();

            }
        }
Run Code Online (Sandbox Code Playgroud)

但它显示,所有的应用程序作为系统应用程序

android activity-manager

4
推荐指数
1
解决办法
3810
查看次数

标签 统计

activity-manager ×1

android ×1