2010-09-17 32 views
5

Có lẽ đó không phải là một câu hỏi thực sự phức tạp, nhưng trước hết, tôi không biết, tôi nên tìm kiếm truy vấn tìm kiếm nào ?!Vòng đời và dịch vụ ứng dụng Android

Khi bắt đầu đăng ký, tôi muốn bắt đầu GPS và nếu ứng dụng của tôi sẽ kết thúc, GPS sẽ bị đóng.

Tôi làm cách nào để kiểm tra, nếu toàn bộ Đơn đăng ký (không phải là Hoạt động) đã hoàn tất chưa?

Có đủ để sử dụng phương thứcDestroy-cho Bắt đầu-Hoạt động, điều này sẽ không bao giờ đóng khi kết thúc() không?

Cảm ơn bạn rất nhiều và xin lỗi vì câu hỏi của người mới bắt đầu.

Mur

UPD

Tôi thấy câu trả lời đầu tiên và tôi muốn nói một lần.

Tôi không có nghĩa là ACTIVITY, ý tôi là toàn bộ APPLICATION (trong đó có nhiều hoạt động tồn tại).

Cách kiểm tra xem tất cả các hoạt động của ứng dụng đã hoàn tất và chỉ trong trường hợp đó dừng dịch vụ?

Có khả năng cho điều đó không?

UPD2:

Tôi đã thử nghiệm giải pháp của tôi trên một thiết bị:

"Có đủ để sử dụng onDestroy-Phương pháp cho Start-Hoạt động, mà sẽ không bao giờ khép lại với kết thúc()? "

Vâng, đủ rồi.

Trả lời

7

Làm như vậy, mỗi Hoạt động liên kết (qua bindService) với Dịch vụ ... Khi tất cả các hoạt động đã bị chấm dứt (unbinds ngầm), Service của bạn sẽ bị hư mất. Kể từ khi Dịch vụ sẽ vẫn còn sống miễn là ai đó đang ràng buộc với nó.

0

Trong trường hợp đặc biệt này những gì bạn cần làm là:

  • Tạo một Activity để hiển thị thông tin cho người dùng.
  • Tạo một Service mà sẽ chạy trên nền và sẽ gửi các bản cập nhật cho Activity

Có rất nhiều của các ví dụ về những gì bạn đang cố gắng để làm, nhưng về cơ bản bạn có thể bắt đầu Service vào phương pháp onStart() của Activity của bạn và kết thúc dịch vụ theo số onDestroy().

+0

Tôi không có nghĩa là ACTIVITY, ý tôi là toàn bộ APPLICATION (trong đó có nhiều hoạt động tồn tại). Làm thế nào để kiểm tra xem tất cả các hoạt động của ứng dụng đã được hoàn thành và chỉ trong trường hợp đó dừng dịch vụ? Có khả năng cho điều đó không? – Tima

+0

@Mur Votema: ok, sau đó bạn sẵn sàng làm những gì st0le nói. – Macarse

Các vấn đề liên quan