Tôi có dịch vụ nền trong ứng dụng Android của mình, tôi bắt đầu dịch vụ từ phương thức MainActivity onResume() và nó hoạt động đúng cách. Nhưng làm thế nào tôi có thể ngừng dịch vụ khi người dùng nhấn nút home.Bởi vì hiện tại người sử dụng bấm nút home sau đó ứng dụng chuyển sang nền và sau đó người dùng mở một số ứng dụng khác thì sau một thời gian phương pháp dịch vụ của tôi được gọi và lực lượng ứng dụng stop.Below là mã của tôi cho dịch vụ bắt đầu -Dừng dịch vụ nền Khi ứng dụng chạy đến nền
Intent msgIntent = new Intent(mContext, MyBackgroundService.class);
startService(msgIntent);
Cảm ơn trước.
EDITED
Trong Dịch vụ My tôi sử dụng bên dưới mã -
public void callAsynchronousTask() {
final Handler handler = new Handler();
timer = new Timer();
TimerTask doAsynchronousTask = new TimerTask() {
@Override
public void run() {
handler.post(new Runnable() {
public void run() {
try {
callWebservice();
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
};
timer.schedule(doAsynchronousTask, START_DELAY, DELAY);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
callAsynchronousTask();
return Service.START_NOT_STICKY;
}
@Override
public void onCreate() {
mContext = this;
super.onCreate();
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onDestroy() {
super.onDestroy();
if(timer!=null){
timer.cancel();
}
stopSelf();
}
trong hoạt động của tôi tôi sử dụng bên dưới mã cho dừng dịch vụ -
@Override
protected void onStop() {
try{
stopService(new Intent(this, MyBackgroundService.class));
isServiceRunning = false;
}
catch(Exception e){
e.printStackTrace();
}
super.onStop();
}
@Override
protected void onPause() {
try{
stopService(new Intent(this, MyBackgroundService.class));
isServiceRunning = false;
}
catch(Exception e){
e.printStackTrace();
}
super.onPause();
}
nhưng dịch vụ của tôi được chạy trong khi tôi sử dụng một số ứng dụng khác và nó buộc dừng app.From dịch vụ nền tôi gọi một số webservice và sau đó lưu trữ phản ứng của dịch vụ trong cơ sở dữ liệu.
Vui lòng kiểm tra câu hỏi cập nhật.Bởi vì tôi đã thử mã nhưng ứng dụng vẫn gặp sự cố trong khi ứng dụng ở chế độ nền và một số ứng dụng khác đang chạy. – Ravi