0

I am getting null pointer exception problem on MyFirebaseInstanceIDService class. I have used try catch but still there exist the problems. Please help me find the problem. Thanks in advance.

public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService {
    Response response;
    SharedPreferences sharedPrefs;
    SharedPreferences.Editor ed;
    @Override
    public void onTokenRefresh() {

        String token = FirebaseInstanceId.getInstance().getToken();

        sharedPrefs = getSharedPreferences("settings", MODE_PRIVATE);
        ed = sharedPrefs.edit();
        ed.putString("tokana", token);
        ed.commit();
        registerToken(token);
    }

    private void registerToken(String token) {
        OkHttpClient client = new OkHttpClient();
        RequestBody body = new FormBody.Builder()
                .add("Token",token)
                .build();

        Request request = new Request.Builder()
                .url("http://example.com/register.php")
                .post(body)
                .build();

        try {

           response = client.newCall(request).execute();
           // System.out.println("working...");

        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            response.body().close();
        }

    }
}

This problem is shown on some devices. The following is the crash report from play store.

java.lang.NullPointerException: 

at com.ramropatro.app.MyFirebaseInstanceIDService.onTokenRefresh (MyFirebaseInstanceIDService.java)
or                     .registerToken (MyFirebaseInstanceIDService.java)

at com.ramropatro.app.MyFirebaseInstanceIDService.onTokenRefresh (MyFirebaseInstanceIDService.java)
or                     .registerToken (MyFirebaseInstanceIDService.java)

at com.google.firebase.iid.FirebaseInstanceIdService.onTokenRefresh (FirebaseInstanceIdService.java)
or                     .zza (FirebaseInstanceIdService.java)
or                     .zzbI (FirebaseInstanceIdService.java)
or                     .zzca (FirebaseInstanceIdService.java)
or                     .zzhi (FirebaseInstanceIdService.java)
or                     .zzo (FirebaseInstanceIdService.java)

at com.google.firebase.iid.FirebaseInstanceIdService.handleIntent (FirebaseInstanceIdService.java)
or                     .zzbK (FirebaseInstanceIdService.java)
or                     .zzbZ (FirebaseInstanceIdService.java)

at com.google.firebase.iid.zzc.run (zzc.java)

at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1112)

at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:587)

at java.lang.Thread.run (Thread.java:818)
Bishwash
  • 854
  • 1
  • 9
  • 22
  • Please post your logcat – AbhayBohra Mar 05 '18 at 05:04
  • @AbhayBohra : I have updated my question to include the crash report from the playstore. Thanks. – Bishwash Mar 05 '18 at 05:10
  • @Henry : can you tell me which variable or function is causing the nullpointerexception? Since this problem is not occuring on all devices i am unable to find the exact line that is giving trouble. – Bishwash Mar 05 '18 at 05:24

0 Answers0