AlarmManagerを使用してアラームをスケジュールし、BroadcastReceiverを起動しました。放送受信機の中で私はアクティビティを呼び出し、ポップアップダイアログを作成したいと思う。AlarmManagerからダイアログを作成しますか?
ここで重要なのは、ユーザーがどこにいるのかの背景を見て、最初に自分のアプリケーションを前面に持ってきていないことです。次のコードを見てみましょう:
Intent intent = new Intent(context, AlarmActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(intent);
を今ここに私はしたくないこれは、何が起こるかです: 1.ユーザが 2.ユーザープレスホーム自分のアプリケーションを見ていると、他のアプリケーション になりました3.私のアプリケーションは、まだバックグラウンドで実行されている 4.アラームtriggers-> BroadcastReceiver->上記の目的は ユーザーが現在MYアプリケーションの最後のページを見ている5を起動すると、私のポップアップダイアログ
何I代わりに次のようにしてください: 5.ユーザーは、依然としてアプリケーションが何であっても見ていますが、彼らは今私のポップアップダイアログを持っています。
私のアプリケーションをフロントに持ち込まずにアクティビティを呼び出すにはどうすればよいですか?
どこからともなく現れたポップアップがユーザーエクスペリエンスに悪いです: あなたは、アラーム(s)は起動時にそれが何をするかし、あなたの他のコードにこのコードを置くことができます。代わりに通知を使用する必要があります。 – Luksprog
これは私のアプリでは全く異なるシナリオです。ユーザーがアラームを拾うように選択した場合、アラームアプリケーションに組み込まれているように、サウンド/バイブレーションとともにポップアップ通知が適切になると思います。たぶん私はソースを見て、アラームアプリケーションがそれをどのように処理するか見ることができますか? – pcm2a
「BroadcastReceiver」からダイアログを開始することはできません。代わりに( 'BroadcastReceiver'の中で)開始するダイアログテーマを持つアクティビティを持つことができるので、ダイアログの外観があります。 – Luksprog