2011-03-30 55 views
0

我有用於調查問卷的活動。Android:活動已經開始..如果我想要其他實例,我必須排隊嗎

因此,基於某些事件,我必須從後臺服務中觸發此調查活動。

假設應用程序已經在運行,並且如果再次觸發調查,Android將不會再次調用該活動,因爲它已經在運行。

但是對於上述用例,我希望用戶參加兩次調查。因此,如果調查應用程序尚未運行,然後等待它結束並開始活動,則必須維護一些排隊機制。有沒有在android中可用的內置機制?

請幫忙!

感謝

回答

0

首先,有一個後臺服務啓動的活動可能是真的很煩給最終用戶,如果他們在中間的東西。我建議你讓服務通過NotificationManager啓動通知,並在用戶查看通知後使用PendingIntent運行調查UI。

似乎有很多方法可以處理在調查活動已經激活時發生第二個「調查觸發」的情況。一種簡單的方法是始終讓您的服務使用SQLite數據庫或文件系統持久保存觸發器。每當調查活動完成一項活動時,您就會回到數據存儲區,查看自調查活動開始以來是否發生了其他調查觸發事件。

因此,當觸發事件發生,您的服務始終:

persist the survey event to db/filesystem 
fire a Notification if survey activity is not already running. 

而且您的調查活動將主要介紹,做這樣的UI:

while there are more survey events stored 
    present survey to user 
    remove survey event from db/filesystem 
相關問題