对不起我的英语不好。
我有一个调用一项服务的活动,我想从该活动中停止该服务。
我尝试使用 stopService(getApplicationContext(), TempService.class) 但它不起作用。
这是我的服务代码
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.d("Debug", "Service start");
mgr = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
temp = mgr.getDefaultSensor(Sensor.TYPE_AMBIENT_TEMPERATURE);
mgr.registerListener(this, temp, SensorManager.SENSOR_DELAY_FASTEST);
return START_STICKY;
}
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
public void onDestroy() {
Log.d("DEBUG", "on destroy");
notificationManager.cancel(0);
super.onDestroy();
}
而在我的 Activity : boolean t 总是返回 false 值。我不知道。
private void processStopService(final String tag) {
Intent intent = new Intent(getApplicationContext(), TempService.class);
intent.addCategory(tag);
boolean t = stopService(intent);
if (t)
{
Log.e("DEBUG", "TRUE");
}
else
Log.e("DEBUG", "FALSE");
}