android
使用中のバックアップ アプリを作成していますが、バックアップは実際には予定時刻にすぐには行われないため、呼び出されてデータが Google サーバーに保存されるというBackupManager
メッセージを表示する方法を知りたいだけです。主な問題は、ダイアログボックスのコンテキストがどうあるべきか?? これまでのところ私はこれを試しましたが、呼び出されたときに表示されませんでしたdialogbox
onBackup()
onBackup()
AlertDialog.Builder builder = new AlertDialog.Builder(getApplicationContext());
builder.setTitle("BACKUP ALERT");
builder.setMessage("Your Backup has been processed");
builder.setPositiveButton("OK", null);
AlertDialog dialog = builder.show();
これをメソッドに書きましたonBackup()
が、アプリケーションに表示されませんでした。バックアップが発生してユーザーがアプリケーションを開くたびにこのメッセージを表示したい、または既に開いている場合は、その時点でどのアクティビティがフォアグラウンドであっても表示したい、または誰かがnotification
Androidnotification
バーで作成する方法を教えてくれます。
ダイアログを作成して表示した行にエラーがありLogcat
ます..
12-28 13:22:52.722: E/JavaBinder(16540): *** Uncaught remote exception! (Exceptions are not yet supported across processes.)
12-28 13:22:52.722: E/JavaBinder(16540): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
12-28 13:22:52.722: E/JavaBinder(16540): at android.os.Handler.<init>(Handler.java:121)
12-28 13:22:52.722: E/JavaBinder(16540): at android.app.Dialog.<init>(Dialog.java:107)
12-28 13:22:52.722: E/JavaBinder(16540): at android.app.AlertDialog.<init>(AlertDialog.java:118)
12-28 13:22:52.722: E/JavaBinder(16540): at android.app.AlertDialog$Builder.create(AlertDialog.java:971)
12-28 13:22:52.722: E/JavaBinder(16540): at com.vahzay.android.smstrove.MySmsBackupAgent1.onBackup(MySmsBackupAgent1.java:233)
12-28 13:22:52.722: E/JavaBinder(16540): at android.app.backup.BackupAgent$BackupServiceBinder.doBackup(BackupAgent.java:490)
12-28 13:22:52.722: E/JavaBinder(16540): at android.app.IBackupAgent$Stub.onTransact(IBackupAgent.java:80)
12-28 13:22:52.722: E/JavaBinder(16540): at android.os.Binder.execTransact(Binder.java:338)
12-28 13:22:52.722: E/JavaBinder(16540): at dalvik.system.NativeStart.run(Native Method)
ダイアログボックスの私のコードは次のとおりです。
new AlertDialog.Builder(getApplicationContext())
.setMessage("Backup Alert")
.setPositiveButton("Ok", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface arg0, int arg1)
{
Toast.makeText(getApplicationContext(), "Your SMS Record that you requested to backup earlier is now processed", Toast.LENGTH_LONG).show(); //-->233
}
}).create().show();
}