我用getInstalledPackages(PackageManager.GET_ACTIVITIES)获得手机安装的所有的activity,用行货defy调试的时候没问题。但是利用水货调试的时候,获得的list的长度却是0. 获得不了,是程序的问题,还是程序权限的问题呢?小弟经验不足,请大家帮忙。

解决方案 »

  1.   

    我的me861水货上面也有问题。我在网上查了有一张方法:
    public void listAllActivities() throws NameNotFoundException
        {
            List<PackageInfo> packages = getPackageManager().getInstalledPackages(0);
            for(PackageInfo pack : packages)
            {
                ActivityInfo[] activityInfo = getPackageManager().getPackageInfo(pack.packageName, PackageManager.GET_ACTIVITIES).activities;
                Log.i("Pranay", pack.packageName + " has total " + ((activityInfo==null)?0:activityInfo.length) + " activities");
                if(activityInfo!=null)
                {
                    for(int i=0; i<activityInfo.length; i++)
                    {
                        Log.i("PC", pack.packageName + " ::: " + activityInfo[i].name);
                    }
                }
            }
        }
    我试过这种方法, 是可以避免这个问题的,楼主试试看