2011-08-02 6 views
0

私は必要に応じてデータベースを更新する機能を実装しました。システムがクラッシュまたは再起動したときに通知する予定/意図はありますか?

(例:Bへのデータベースの列の値の1つを変更)

システムクラッシュや再起動や秩序の外にある何か、

は、私はその後、私ができる知ることができる任意のものがある場合データベースを復旧するためのハンドル?

(例:バックAへのデータベースの列の値の1を回復する)の助けを

感謝。

答えて

0
<uses-permission android:name=”android.permission.RECEIVE_BOOT_COMPLETED” /> 

あなたが望むアクションを実行します。BroadcastReceiverを定義します。

あなたのmanifestのようなSTHに必要になります:デバイスが完了すると

<receiver android:name=”.MyReceiver”> 
    <intent-filter> 
     <action android:name=”android.intent.action.BOOT_COMPLETED” /> 
    </intent-filter> 
</receiver> 
+0

こんにちは、Sherif: ご返信ありがとうございます。 私はブート後にBOOT_COMPLETEDを送るべきだと思います。 しかし、再起動(コマンド:adb rebootなど)やクラッシュが発生したときに、データベースの復旧を処理できるようにする必要があります。 (タイミ​​ングはcrash/reboot - > recover database - > power off) 次回システムを再起動すると、データベースは既に復元されているはずです。 – joyce7216

+0

クラッシュをキャッチすることは不可能です。あなたがそれをキャッチしたとしても、コードを実行することはできません。 –

+0

ああ、私はそれを得ました。どうもありがとうございます。 – joyce7216

0

、それは意図をブロードキャストし、このブロードキャストに登録することにより、uは、コールを取得することができます:

  public class YourReceiverName extends BroadcastReceiver{ 
      @Override 
      public void onReceive(final Context context, Intent intent) { 

       if(intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){ 
       //Do your task here.... 
         } 
       } 
     } 

許可を追加マニフェストファイル:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

このレシーバーをmanに登録するifestファイル:

<receiver android:name="Your receiver name"> 
      <intent-filter> 
       <action android:name="android.intent.action.BOOT_COMPLETED" /> 
      </intent-filter> 
     </receiver> 

とデータベースのために、それはあなたがそれを処理する方法あなた件までで、どのようなアプリの需要。

0

クラッシュは、定義上、捕まえられません。

これがクラッシュをクラッシュにする原因です。

+0

ありがとう、パディー! – joyce7216

関連する問題