2014-10-31 57 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