I have a method in my main activity that lets user logout if user is logged in and log in if user logged out. But the application crashes when I call .logout() method of facebook sdk. My code where the error comes Logcat returns NULLPOINTEREXCEPTION Error at fb.logout(MainActivity.this);
public void loginFacebook(View v) {
// TODO Auto-generated method stub
new Thread(new Runnable() {
@Override
public void run() {
// log out if logged in
if (fb.isSessionValid()) {
try {
updateButtonImage();
Log.d("Session Valid", "Session Valid");
fb.logout(MainActivity.this);
if (fb.isSessionValid())
Log.d("Session Valid", "Session Valid");
else
Log.d("Session Not Valid", "Session Not Valid");
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else {
// log in if logged out
Log.d("Session Not Valid", "Session Not Valid");
// login
runOnUiThread(new Runnable() {
public void run() {
fb.authorize(MainActivity.this,
new DialogListener() {
// I have deleted this part as this is not relevant to this question
});
}
});
}
}
}).start();
}
LOGCAT:
03-08 16:11:22.242: E/AndroidRuntime(11956): FATAL EXCEPTION: Thread-14
03-08 16:11:22.242: E/AndroidRuntime(11956): java.lang.NullPointerException
03-08 16:11:22.242: E/AndroidRuntime(11956): at android.webkit.CookieSyncManager.createInstance(CookieSyncManager.java:96)
03-08 16:11:22.242: E/AndroidRuntime(11956): at com.facebook.internal.Utility.clearCookiesForDomain(Utility.java:554)
03-08 16:11:22.242: E/AndroidRuntime(11956): at com.facebook.internal.Utility.clearFacebookCookies(Utility.java:578)
03-08 16:11:22.242: E/AndroidRuntime(11956): at com.facebook.Session.closeAndClearTokenInformation(Session.java:798)
03-08 16:11:22.242: E/AndroidRuntime(11956): at com.facebook.android.Facebook.logoutImpl(Facebook.java:669)
03-08 16:11:22.242: E/AndroidRuntime(11956): at com.facebook.android.Facebook.logout(Facebook.java:646)
03-08 16:11:22.242: E/AndroidRuntime(11956): at com.appquest.awaaziitkgp.MainActivity$4.run(MainActivity.java:167)
03-08 16:11:22.242: E/AndroidRuntime(11956): at java.lang.Thread.run(Thread.java:1019)