2014-10-31 86 views
-2

運行我有這樣的代碼:的Android停止IntentService不接近傳感器

@Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, 
           Bundle savedInstanceState) { 
      View rootView = inflater.inflate(R.layout.fragment_head_sound, container, false); 
      mButtonStartService=(ImageButton)rootView.findViewById(R.id.imageButton); 
      mButtonStartService.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View view) { 
        if(intent!=null) 
        { 
         getActivity().stopService(intent); 
         intent=null; 
         Log.d("intent","null"); 

        } 
        else 
        { 
         intent=new Intent(getActivity(),MyIntentService.class); 
         getActivity().startService(intent); 
        } 


       } 
      }); 
      return rootView; 
     } 

但IntentService不停止和接近傳感器繼續在onSensorChanged發送值()。

+0

您需要向我們展示您的服務中的代碼。 – 2014-10-31 16:48:46

回答

0

在你onSensorChanged()方法結束時,您可以撥打: sensorManager.unregisterListener(listener);

這是很好的做法,因爲這將節省設備資源(電池爲例)。

+0

很棒!我在onDestroy()服務覆蓋方法中實現sensorManager.unregisterListener(偵聽器)。 – user1608228 2014-10-31 17:45:36