2012-05-07 1 views
0

저는 SensorManager를 통해 SensorEventListener를 사용하는 응용 프로그램을 개발했습니다. 하지만 한 가지 문제가 있습니다. 응용 프로그램이 시작되면 SensorManager에서 리스너를 제거하고 새 리스너를 만들어야하지만 SensorManager에는 registerListener와 unregisterListener라는 두 가지 메서드 만 있습니다.하지만 응용 프로그램을 실행하면 마지막 리스너에 대한 참조를 얻을 수 없습니다. 등록을 취소하십시오. 내가 고칠 수있는 방법을 말해줘. 고맙습니다.SensorManaget에서 SensorEventListener를 등록 취소하는 방법은 무엇입니까?

+0

청취자를 등록 취소하는 중입니다. –

+0

죄송합니다. 방금 문제를 결정했습니다. 하지만 이제는 해결해야 할 1 가지 질문이 있습니다. 실행중인 서비스를 모두 중지하려면 어떻게해야합니까? – user1166635

답변

0

프로세스를 죽이지 마십시오. 좋은 생각이 아닙니다. 다음은 서비스를 탐지하는 코드입니다.

ActivityManager activity_manager = (ActivityManager)this.getSystemService(ACTIVITY_SERVICE); 
    List<ActivityManager.RunningServiceInfo> current_services = activity_manager.getRunningServices(50); 

    for (int i=0; i<current_services.size(); i++) { 
     ActivityManager.RunningServiceInfo temp_service = current_services.get(i); 
     if (temp_service.getClass().equals("your complete class name with package")) { 
      //DO YOUR WORK HERE. 
      android.os.Process.killProcess(temp_service.pid); //TO KILL PROCESS BUT I RECOMMEND DON'T KILL IT. 
     } 
    } 
관련 문제