2011-06-30 25 views
6

Một câu hỏi đơn giản, tuy nhiên tôi không thể giải quyết: khi nào tôi nên bắt đầu và ngừng dịch vụ thanh toán? Tôi đang suy nghĩ về hai quyết định:Thời điểm bắt đầu và dừng dịch vụ Thanh toán trong ứng dụng?

  • bắt đầu từ năm onCreate và dừng lại ở onDestroy
  • bắt đầu từ năm onResume và dừng trong onPause

các thực hành tốt nhất là gì? Cảm ơn trước.

+0

Tại sao không làm cả hai? – Jacksonkr

Trả lời

0

Tôi khuyên bạn nên sử dụng dịch vụ thanh toán của mình từ IntentService để nó sẽ tự động khởi động/dừng khi cần. Bạn bắt đầu nó bằng startService (Intent), và sau đó khi nó kết thúc với công việc của nó, nó sẽ tự tắt. IntentService cũng cung cấp hàng đợi được xây dựng để chỉ một mục đích sẽ được xử lý cùng một lúc và đó là chuỗi công việc riêng của nó.

Khi tôi nhớ lại, bạn cũng cần một Người nhận để sử dụng IAB, sau đó có thể gọi dịch vụ với Mục đích và có hành động dựa trên những gì cần phải làm.

+0

Các cuộc gọi IntentService dừngSelf khi dịch vụ (last) onHandleCommand kết thúc. Nhưng tại thời điểm đó dịch vụ không phải lúc nào cũng được thực hiện. Nếu dịch vụ cần gửi thông báo đến MarketBilling, dịch vụ cần kết nối với MarketBillingService. Khi nó liên kết với dịch vụ, nó gọi bind(), sau đó nó trả về từ onHandle, và sau đó đối tượng ServiceConnection nhận được một cuộc gọi lại onServiceConnection. Nếu Dịch vụ đã chết vào thời điểm này (có thể nhưng không phải khi tôi thử nghiệm trên Android 3.2) thì tôi mong đợi mọi thứ sẽ thất bại, bởi vì bối cảnh đã chết. – arberg

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