2011-09-10 12 views
0

私はアンドロイドの開発者ガイドを読んでいます。私はアンドロイドapplcationsについてたくさんのアイデアを得た。しかし、今私は本当に一つのアプリケーションを開発したいと思っています。私は私の心の中にいくつか基本的な質問があります。私は専門家からの回答を得てうれしいです。アクティビティ、サービス、アプリケーションに関する基本的な質問

  1. 私のアプリケーションでは、SIMカードが電話機から取り外されたとき、および戻ったときに通知を確認する必要があります。これをチェックして良いアイデアになりますか?私のアプリケーションで実装する必要があるタイマーですか、またはSIMカードの取り外しに対応できるサービスを作成する必要がありますか?私は一定の時間間隔で一定の仕事をするためのタイマーを実装する場合、すべての活動が背景にある場合

  2. 、タイマーがまだ実行することができますでしょうか? SIMカードが取り外されたとき、あなたはおそらくBroadCast Reciever(提供される放送を必要とする最初のケースのための

答えて

1
  1. を、すべての電話機でそのIあなたのアプリは、電話が切れているため、SIMの取り外しについての通知を受け取ることができません。あなたができることは、電話の再起動後にサービスを開始することです。 BOOT_COMPLETEDを聞いているBroadcastReceiver経由で:this tutorialを参照してください。 rviceはTelephonyManager.getSimState()でSIMが利用可能かどうかを確認します。

  2. 必ずしもそうではありません。 Android OSは、非アクティブなアプリケーションを強制終了してメモリから削除する時期を決定します。非アクティブ(例:バックグラウンド)アプリが削除されないという保証はありません。スケジュールされた実行を保証するには、AlarmManagerをご覧ください。

+0

バッテリーを取り外すことなくSIMカードを取り外すことができる電話機があります。私は、SIMの状態を定期的にチェックするサービスのほうがより固い解決策になると思います(残念なことに、より多くのリソースがかかります) – LambergaR

+1

また、PhoneStateListener.LISTEN_SERVICE_STATEを見ることもできます。誰かがSIMを取り除くと、セルラーサービスの状態が変わるでしょう。あなたは新しいSIMを確認することができます。 –

0

が送信されます。 及び第二ケースのためにAlarm Managerは、タイマーより良い選択である。

関連する問題