通过调用
getPackageManager().getInstalledPackages(0)
找到设备上所有的包,获取包名,并用ListView列出。
然后
intent=getPackageManager().getLaunchIntentForPackage(packageName)
通过包名给intent赋值。
然后我想点击启动选定的应用,大部分都能启动,只有录音机和通讯录不能启动,出现NullPointerException 的错误。
不知道什么原因

解决方案 »

  1.   

    NullPointerException……是不是intent为null,包名没获取到?
      

  2.   

    是在模拟器上的,包名已经获取到了,在log日志里可以看到获取的包名。
    我又换了个方法,获取包名后通过包名获取包下所有的Activity,然后启动第一个Activity。这个时候所有的应用都可以启动。这就证明我第一种方式是获得了包名的。
    但这种方式要求所有的应用都是从第一个activity启动的,不知道有没有应用不是从第一个activity启动的
    期待大牛