ユーザーがプッシュ通知をクリックした後に表示するカスタムダイアログボックスが1つあります。私はここでFirebaseMessagingService
を使用しています。プッシュ通知をクリックしてアプリケーションがフォアグラウンドになると、カスタムダイアログボックスを表示する方法
以下はプッシュ通知を受信するためのコードです。私は意図を作り、放送しています。私の基本活動で
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
if (remoteMessage.getData().size() > 0) {
Intent intent = new Intent(Cons.INTENT_FILTER);
try {
// getting my data here
Bundle bundle = new Bundle();
bundle.putSerializable(key, data);
intent.putExtras(bundle);
}
catch (Exception e){
}
sendBroadcast(intent);
}
}
私は意図を受信して、ダイアログボックスを表示しBroadcastReceiver
を使用しています。
private BroadcastReceiver myReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
FragmentTransaction transaction = getFragmentManager().beginTransaction();
DialogFragment dialogFragment = new CustomDialog();
Bundle bundle = new Bundle();
// I am getting data from intent.
bundle.putSerializable(key, data);
dialogFragment.setArguments(bundle);
dialogFragment.show(transaction, "dialog");
}
};
アプリがフォアグラウンドにある場合、すべてのデータを含むダイアログボックスが表示されます。このコードは、アプリがバックグラウンドの場合、またはアプリが実行されていない場合は機能しません。
私は、アプリケーションの実行状態を取得し、それに応じていくつかの条件を入れると言うソリューションを探すことを試みました。他の解決方法があるかどうかを知りたいおかげさまで
。私の質問をよく読んでください。ありがとう。 – Pooja
私はあなたの要件を知っています。アクティビティなしでダイアログを表示することはできません。 DialogFragmentではなくActivityを作成します。 –
私はすでに活動しています。私の2番目のコードはActivityです。 – Pooja