我有这段代码:
@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没有停止,并且Proximity传感器继续在onSensorChanged()中发送值。
答案 0 :(得分:0)
在onSensorChanged()
方法结束时,您可以致电:
sensorManager.unregisterListener(listener);
这是一种很好的做法,因为它可以节省设备资源(例如电池)。