0

对不起我的英语不好。

我有一个调用一项服务的活动,我想从该活动中停止该服务。

我尝试使用 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");
}
4

1 回答 1

0

不要将类别与服务一起使用。删除addCategory()您的通话Intent

于 2013-05-23T07:53:13.210 回答