0

アプリケーションでアラームを設定しようとしています。アラームが開始されるたびに、AlertDialogがユーザーに表示されます。

2 つのアクティビティを作成しました。

  • ActivityAアラームを設定する担当者です
  • ActivityBAlertDialogユーザーにウィンドウを表示する担当者です

ActivityA: アラームの設定

alarmDatetypeの変数には、アラームの日付が格納されますGregorianCalendar。次のコードを使用してアラームを作成しました(こちらの回答に従ってください):

Intent intent = new Intent(this, ActivityB.class);
intent.putExtra(ActivityB.ALARM_MESSAGE, message);
PendingIntent pendingIntent = PendingIntent.getService(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, alarmDate.getTimeInMillis(), pendingIntent);

ActivityB: リクエストの処理

public void onCreate(Bundle savedInstanceState) {
    Intent intent = getIntent();
    String message = intent.getStringExtra(ALARM_MESSAGE);      
    AlertDialog dialog = new AlertDialog.Builder(this).setMessage(message)
                       .setPositiveButton("OK", new DialogInterface.OnClickListener()...)
                       .create();
    dialog.show();
    finish();
}

問題

問題が発生しました:ActivityBインテントをキャプチャできません。したがって、作成されたことはないと思います。開始方法について何かが欠けています。

AlertDialogさらに、アプリケーションが実行されていない場合にもウィンドウを表示するアラームが必要なので、これが最も望ましい解決策だとは思いません。

これらの問題を解決する方法についてのヒントはありますか?

ありがとうございました。

4

1 に答える 1

0

使用していますが、 getActivityを使用PendingIntent.getServiceする必要があります

UPD AlertDialogについては、透過的なアクティビティを使用してもAlertDialogを開くことができます。

于 2013-08-17T15:08:53.200 に答える