diff --git a/src/android/com/adobe/phonegap/push/PushInstanceIDListenerService.java b/src/android/com/adobe/phonegap/push/PushInstanceIDListenerService.java index 176b7419a..45a6dab44 100644 --- a/src/android/com/adobe/phonegap/push/PushInstanceIDListenerService.java +++ b/src/android/com/adobe/phonegap/push/PushInstanceIDListenerService.java @@ -5,22 +5,38 @@ import android.content.SharedPreferences; import android.util.Log; +import androidx.annotation.NonNull; + +import com.google.android.gms.tasks.OnCompleteListener; +import com.google.android.gms.tasks.Task; import com.google.firebase.iid.FirebaseInstanceId; -import com.google.firebase.iid.FirebaseInstanceIdService; +import com.google.firebase.iid.InstanceIdResult; +import com.google.firebase.messaging.FirebaseMessagingService; //ADD FirebaseMessagingService import org.json.JSONException; import java.io.IOException; -public class PushInstanceIDListenerService extends FirebaseInstanceIdService implements PushConstants { +public class PushInstanceIDListenerService extends FirebaseMessagingService implements PushConstants { public static final String LOG_TAG = "Push_InsIdService"; + @Override - public void onTokenRefresh() { + public void onNewToken(String token) { //Added onNewToken method // Get updated InstanceID token. - String refreshedToken = FirebaseInstanceId.getInstance().getToken(); - Log.d(LOG_TAG, "Refreshed token: " + refreshedToken); - // TODO: Implement this method to send any registration to your app's servers. - //sendRegistrationToServer(refreshedToken); + FirebaseInstanceId.getInstance().getInstanceId().addOnCompleteListener(new OnCompleteListener() { + + @Override + public void onComplete(@NonNull Task task) { + if (!task.isSuccessful()) { + Log.w(LOG_TAG, "getInstanceId failed", task.getException()); + return; + } + + // Get new Instance ID token + String refreshedToken = task.getResult().getToken(); + Log.d(LOG_TAG, "Refreshed token: " + refreshedToken); + } + }); } }