2

Here is my code I am getting Error: error: not an enclosing class: MainActivity. Please help me what is the issue in my code.

public class MyFirebaseMessagingSerivce extends FirebaseMessagingService {
    @Override
    public void onNewToken(String s) {
        super.onNewToken(s);
        Log.e("NEW_TOKEN", s);
    }

    public void onMessageReceived(RemoteMessage remoteMessage) {
        super.onMessageReceived(remoteMessage);

    }
    public void onCreate() {
        super.onCreate();
        FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener( MainActivity.this,  new OnSuccessListener<InstanceIdResult>() {
            @Override
            public void onSuccess(InstanceIdResult instanceIdResult)
            {
                String updatedToken = instanceIdResult.getToken();
                Log.e("Updated Token",updatedToken);

            }
        });
    }

}
daedsidog
  • 1,732
  • 2
  • 17
  • 36

1 Answers1

1

Can we use this one in FirebaseMessagingService?

No the FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener() method is used to get token inside activity

The onNewToken() method is used to get token inside FirebaseMessagingService

For more information check this answer of Frank van Puffelen how onNewToken and FirebaseInstanceId.getInstance().getInstanceId() will work

Also check this for FirebaseMessagingService

SAMPLE CODE

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener( MainActivity.this,  new OnSuccessListener<InstanceIdResult>() {
            @Override
            public void onSuccess(InstanceIdResult instanceIdResult)
            {
                String updatedToken = instanceIdResult.getToken();
                Log.e("Updated Token",updatedToken);

            }
        });


    }

}
AskNilesh
  • 67,701
  • 16
  • 123
  • 163
  • Thank you for your reply.I am getting compile time error in my code when I use this function. error: expected error: ';' expected error: illegal start of type error: '(' expected error: ';' expected error: ';' expected error: illegal start of type – Thippeswamy H U Dec 14 '18 at 05:54
  • @ThippeswamyHU share your current code where you are getting error also not make sure your adding `FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener()` inside `onCreate()` method – AskNilesh Dec 14 '18 at 05:56
  • Hi Nilesh, Now i have put that method inside the onCreate method. Previous error was resolved. Now I am getting this error error: not an enclosing class: MainActivity – Thippeswamy H U Dec 14 '18 at 06:05
  • @ThippeswamyHU share your activity code with question – AskNilesh Dec 14 '18 at 06:05