2011-09-10 57 views
0

我閱讀了Android開發人員指南。我有很多關於android applc的想法。但是現在我真的想開發一個應用程序。我腦海中有一些基本問題。我很樂意從專家那裏得到答案。有關活動,服務和應用程序的一些基本問題

  1. 在我的申請中,我需要檢查SIM卡從手機中取出並放回時的通知。要檢查這將是一個好主意?它是我應該在我的應用程序中實現的計時器,還是應創建可響應SIM卡移除的服務?

  2. 如果我實現定時器以定期執行某項工作,如果所有活動都在後臺,定時器是否仍然可以運行?

回答

1
  1. 在所有的手機,我已經看到爲了移除SIM卡,手機必須關機,因爲電池通常會阻止SIM卡插槽,所以基本上你的應用程序不會收到關於SIM卡移除的通知,因爲手機關機了,你可以做的是在手機重新啓動後啓動你的服務,通過BroadcastReceiver監聽BOOT_COMPLETED:請參閱this tutorial。Se然後服務通過TelephonyManager.getSimState()檢查SIM是否可用。

  2. 不一定。 Android操作系統決定何時關閉並從內存中移除不活動的應用程序。不保證您的不活動(例如在後臺)應用程序不會被刪除。爲了保證計劃執行,請看AlarmManager

+0

有些手機可以讓您在不移除電池的情況下取出SIM卡。我認爲某些定期檢查SIM卡狀態的服務將會是一個更加穩固的解決方案(並且不幸的是會增加資源消耗) – LambergaR

+1

您也可以查看PhoneStateListener.LISTEN_SERVICE_STATE。如果有人刪除SIM卡,那麼celuar服務狀態會改變。比你可以檢查新的SIM卡。 –

0

對於第一種情況,你可能需要一個BroadCast Reciever(提供的廣播,當SIM卡被取出被髮送。 和第二種情況Alarm Manager比計時器更好的選擇。

相關問題