2009-11-25 31 views
7

Trong hoạt động của tôi, có một số nội dung đang diễn ra trong chuỗi nền được bắt đầu trong Activity_1. Quá trình xử lý chuỗi nền mất một lúc và tôi muốn thông báo cho người dùng khi hoàn thành thông qua số AlertDialog. Tuy nhiên, người dùng có thể đã thay đổi thành Activity_2 hoặc Activity_3 trong thời gian chờ đợi và tôi muốn bật AlertDialog luôn trong Hoạt động hiện tại.Android: tăng AlertDialog từ chủ đề nền

Bất kỳ ý tưởng nào để nhận ra điều này?

Trả lời

3

Tôi đã kết thúc một số việc như thế này trong chuỗi nền của mình. Nó hoạt động, nhưng không chắc chắn nếu nó là một giải pháp "tốt".

Looper.prepare(); 
mActivity.showDialogAlertDefault(); 
Looper.loop(); 
Looper.myLooper().quit(); 
+0

Điều này làm việc cho tôi quá, tuy nhiên, sau khi alertdialog xuất hiện nó dường như biết trở lại thực hiện các chủ đề nó đã được thực hiện trước khi alertdialog xuất hiện. Bất kỳ đề xuất? Bạn muốn xem mã của tôi? – prolink007

+0

mã gọi với thời gian trễ cực đại. –

0

Điều này có thể có nghĩa là đúng cách là sử dụng Dịch vụ thay vì một chuỗi nền đơn giản. Công việc nền của bạn sẽ linh hoạt hơn khi bị tạm dừng hoặc ngừng hoạt động và bạn không phải lo lắng về việc tạo AsyncTask liên tục theo dõi một hoạt động khác.

+0

"Chủ đề nền" của tôi thực sự là một dịch vụ riêng biệt. Tuy nhiên, những gì tôi đang tìm kiếm là một ứng dụng toàn cầu (Dialog) có thể được nâng lên bất cứ đâu trong ứng dụng. Điều đó có nghĩa là tôi phải thực hiện một Listener và một Dialog trong mọi hoạt động hoặc tôi có thể làm điều đó tại một điểm duy nhất cho toàn bộ ứng dụng. Câu hỏi khác là, tôi đang lắng nghe cái gì (nó là một Ý Định hay cái gì khác)? – znq

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