Здесь я пробовал простую сервисную программу. Начать сервис отлично работает и генерирует Toast, но прекратить обслуживание нет. Код этой простой службы приведен ниже:
public class MailService extends Service {
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
public void onCreate(){
super.onCreate();
Toast.makeText(this, "Service Started", Toast.LENGTH_SHORT).show();
}
public void onDestroyed(){
Toast.makeText(this, "Service Destroyed", Toast.LENGTH_SHORT).show();
super.onDestroy();
}
}
Код действия, из которого вызывается эта служба, выглядит следующим образом:
public class ServiceTest extends Activity{
private Button start,stop;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.service_test);
start=(Button)findViewById(R.id.btnStart);
stop=(Button)findViewById(R.id.btnStop);
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
startService(new Intent(ServiceTest.this,MailService.class));
}
});
stop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
stopService(new Intent(ServiceTest.this,MailService.class));
}
});
}
}
Помогите мне остановить службу с помощью этой кнопки остановки, которая генерирует тост в методе onDestroy(). Я уже видел много сообщений о проблеме остановки обслуживания здесь, но не удовлетворительно, поэтому отправляю новый вопрос. Надеюсь на удовлетворительный ответ.