Я создал сервис и деятельность.В этом упражнении у меня есть две кнопки.Один - запустить сервис, другой - остановить сервис.Я могу запустить удаленное действие, позвонив по номеру startService()
, но не смог остановить службу, используя stopService()
.Если я нажму на кнопку «Пуск», то обнаружу, что запущен дополнительный удаленный процесс (с использованием eclipse ide).Я ожидаю, что если я нажму кнопку «Стоп», то этот дополнительный процесс остановится.но это не происходит.Я могу успешно вызвать метод запуска и остановки сервиса.Чтобы проверить код, я добавил тостовое сообщение в каждый метод запуска и остановки.Как остановить удаленный сервис?
Моя активность
public class SimpleServiceController extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button start = (Button)findViewById(R.id.serviceButton);
Button stop = (Button)findViewById(R.id.cancelButton);
start.setOnClickListener(startListener);
stop.setOnClickListener(stopListener);
}
private OnClickListener startListener = new OnClickListener() {
public void onClick(View v){
startService(new Intent(SimpleServiceController.this,SimpleService.class));
}
};
private OnClickListener stopListener = new OnClickListener() {
public void onClick(View v){
stopService(new Intent(SimpleServiceController.this,SimpleService.class));
}
};
}
Сервис
public class SimpleService extends Service {
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
super.onCreate();
Toast.makeText(this,"Service created ...", Toast.LENGTH_LONG).show();
}
@Override
public void onDestroy() {
super.onDestroy();
Toast.makeText(this, "Service destroyed ...", Toast.LENGTH_LONG).show();
}
}
Манифест
<service android:name=".SimpleService" android:process=":remote">
</service>