- firebaseから通知が送信されると、
onMessageReceived
メソッドが呼び出されます。詳細情報https://firebase.google.com/docs/cloud-messaging/android/receive
- 同じもの -
onMessageReceived
が呼び出されます。
- 同じこと -
onMessageReceived
が呼び出されます。
サービスでサービスを設定する必要があり、サービスは通知を待ち受けます。アプリケーションを終了してもサービスは実行されます。
あなたのメッセージをクリックすると、あなたのMainActivityまたは通知の目的に設定されたすべてのアクティビティが開きます。以下の例を参照してください。
アプリケーションをバックグラウンドで配置する方法はいくつかあります。 戻るボタンを押すと、MainActivityが終了します。 ホームボタンを押すと、MainActivityを殺しません。
アプリケーションonCreateメソッドは、アプリケーションが開始され、バックグラウンドではない場合にのみ呼び出されます。 アプリケーションがバックグラウンドの場合、application onCreateメソッドは起動されません。
MainActivity onCreateメソッドは、通知メッセージを押すか、バックボタンで閉じた後にバックグラウンドからアプリを起動したときに呼び出されます。
値について:私はあなたの値をどこで設定するのかはわかりませんが、firebaseサービスの方法で値を設定すると、MainActivityが開始されるときに値が初期化されます。 アプリケーションがバックグラウンドで実行されていない場合(つまり、アプリケーションが終了してバックグラウンドから消去されたことを意味します)、onMessageReceived
メソッドが呼び出される前に値が空である可能性があります。 (意図I =新しいテント(これ、MainActivity.classを);)ここで
は、あなたが、私はアクションにもMainActivityを使用していていることがわかります私のfirebaseサービスの一例であるときに、メッセージをユーザーがクリックする:
public class FirebaseMessagingService extends com.google.firebase.messaging.FirebaseMessagingService {
String TAG = "Notifications";
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Log.d(TAG, "From: " + remoteMessage.getFrom());
// Check if message contains a data payload.
if (remoteMessage.getData().size() > 0) {
Log.d(TAG, "Message data payload: " + remoteMessage.getData());
}
// Check if message contains a notification payload.
if (remoteMessage.getNotification() != null) {
Log.d(TAG, "Message Notification Body: " + remoteMessage.getNotification().getBody());
}
Intent i = new Intent(this, MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this,0,i,PendingIntent.FLAG_UPDATE_CURRENT);
Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
.setAutoCancel(true)
.setContentTitle(remoteMessage.getNotification().getTitle())
.setContentText(remoteMessage.getNotification().getBody())
.setColor(0xffff7700)
.setSmallIcon(R.drawable.ic_launcher)
.setVibrate(new long[] { 100, 100, 100, 100})
.setLights(0xffff7700, 300, 1000)
.setSound(alarmSound)
.setPriority(Notification.PRIORITY_MAX)
.setContentIntent(pendingIntent);
NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
manager.notify(new Random().nextInt(),builder.build());
}
}
は、詳細な説明をありがとうございました。 – Nagarjun