Trong ứng dụng Android của tôi, tôi gọi cả hai startService
và bindService
:Tôi có cần gọi cả dịch vụ unbindService và stopService cho các dịch vụ Android không?
Intent intent = new Intent(this, MyService.class);
ServiceConnection conn = new ServiceConnection() { ... }
startService(intent)
bindService(intent, conn, BIND_AUTO_CREATE);
Sau đó, tôi cố gắng để cả hai unbindService and
stopService`:
unbindService(conn);
stopService(intent);
Tuy nhiên, tôi nhận được một ngoại lệ về cuộc gọi đến unbindService
. Nếu tôi xóa cuộc gọi này, ứng dụng có vẻ chạy đúng cách thông qua cuộc gọi stopService
.
Tôi có làm gì sai không? Tôi nghĩ rằng cuộc gọi bindService
phải được liên kết với cuộc gọi unbindService
và cuộc gọi startService
phải được liên kết với cuộc gọi stopService
. Điều này dường như không phải là trường hợp ở đây, mặc dù.
Bạn đã bao giờ tìm ra điều này chưa? Tôi chạy vào cùng một điều, và nhận xét ra unbindService (conn) cho bản thân mình. Dường như làm việc ổn, nhưng cũng giống như bạn, ruột của tôi nói điều gì đó trong nền sẽ không thích nó. –