Utla Sreenivasa Rao
Utla Sreenivasa Rao

Reputation: 13

Android Studio -error: cannot access InternalTokenProvider // firebaseAuth = FirebaseAuth.getInstance();

I get this error whenever adding Cloud Messaging dependencies for Android push notifications:

error: cannot access InternalTokenProvider
         firebaseAuth = FirebaseAuth.getInstance();
                                    ^   class file for
com.google.firebase.internal.InternalTokenProvider not found

implementation 'com.google.firebase:firebase-messaging:20.2.3'

My Firebase Realtime Database working perfect without this dependencies. What is the problem, and how can I fix it?

Upvotes: 0

Views: 246

Answers (2)

Utla Sreenivasa Rao
Utla Sreenivasa Rao

Reputation: 13

i fixed the errror my self. I have changed Versions of FirebaseAuth, FirbaseDatabase and FirebaseStorage

implementation 'com.google.firebase:firebase-messaging:20.2.3'

implementation 'com.google.firebase:firebase-auth:19.3.2'

implementation 'com.google.firebase:firebase-database:19.3.1'

implementation 'com.google.firebase:firebase-storage:19.1.1'

got solved.

Useful link: link

Upvotes: 1

Rajnish Sharma
Rajnish Sharma

Reputation: 388

Without FIrebase Auth! Running perfectly.

public class MyFirebaseMessagingService extends com.google.firebase.messaging.FirebaseMessagingService {
int notifyId = 0;

@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
    Log.d("Service", "From: " + remoteMessage.getFrom());

    if (remoteMessage.getData().size() > 0) {
        Log.d("Service", "Message data payload: " + remoteMessage.getData());
    }

    if (remoteMessage.getNotification() != null) {
        Log.d("Service", "Message notification: " + remoteMessage.getNotification().getBody());
    }
    sendNotification(remoteMessage.getData().get("message"));
}

private void sendNotification(String message) {
    Intent intent = new Intent(this, Splash.class);
    intent.putExtra("isNotify", true);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT);

    Uri uri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
    NotificationCompat.Builder builder = new NotificationCompat.Builder(this, "channel_id")
            .setSmallIcon(R.mipmap.ic_launcher)
            .setColor(ContextCompat.getColor(this, R.color.colorAccent))
            .setContentTitle("your app name") //put your app name here
            .setWhen(System.currentTimeMillis())
            .setContentText(message)
            .setAutoCancel(true)
            .setSound(uri)
            .setContentIntent(pendingIntent)
            .setStyle(new NotificationCompat.BigTextStyle().bigText(message))
            .setVibrate(new long[]{1000, 1000, 1000, 1000, 1000});
    NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    assert notificationManager != null;
    notificationManager.notify(notifyId, builder.build());
    notifyId++;
}}

If you want to add token add it afterwards!

Upvotes: 0

Related Questions