사용자가 푸시 알림을 클릭 한 후 표시 할 사용자 지정 대화 상자가 하나 있습니다. 여기에 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 대신 활동 작성. –
나는 이미 활동을하고있다. 두 번째 코드는 활동에 있습니다. – Pooja