android getRunningAppProcesses总是返回null

时间:2012-02-14 02:42:10

标签: java android nullpointerexception ontouchevent

我有: -

Class Abc extends Activity(){

 private ActivityManager am;
 private List<RunningAppProcessInfo> rList;

     @Override
     public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);       
       setContentView(R.layout.main);
      }

     @Override
     public void onStart (Bundle savedInstanceState) {
       super.onStart(savedInstanceState);        
     }

     @Override
     public boolean onTouchEvent(MotionEvent event) {

        super.onTouchEvent(event);

        rList= am.getRunningAppProcesses();
        Log.e("MAIN", rList.isEmpty() +" .");

        return true;
     }
}

am.getRunningAppProcesses()始终为null,即使我正在运行前台应用,活动应用也会正确显示它们。我知道它应该返回null如果没有其他运行,但我启动其他应用程序(gmail,相机,测试)

这是权限问题吗?

1 个答案:

答案 0 :(得分:0)

想通了。
对于ActivityManager am,由于构造函数为private,并且没有static个实例可用,因此必须将其实例化为:

am = (ActivityManager)getSystemService(ACTIVITY_SERVICE);

希望这对遇到类似问题的人有用