[英]New activity not keeping facebook access token
基本上我在我的Android應用程序中使用facebook sdk。 但是,在我的記分牌活動中,我需要使用訪問令牌來獲得我的高分結果。
但每次我嘗試使用
accessToken = AccessToken.getCurrentAccessToken();
它是null或我的應用程序崩潰,因為它是一個空指針錯誤。
java.lang.RuntimeException:無法啟動活動ComponentInfo {wmrapplications.plankoff / wmrapplications.plankoff.ScoreBoard}:java.lang.NullPointerException:嘗試調用虛方法'java.lang.String com.facebook.AccessToken.getToken()'在null對象引用上
我需要它做的是檢索當前登錄會話的當前登錄。 我嘗試使用“isloggedin”方法。
public boolean isLoggedIn() {
accessToken = AccessToken.getCurrentAccessToken();
if (accessToken == null) {
Toast.makeText(getApplicationContext(), "no access token", Toast.LENGTH_LONG).show();
accessTokenTracker = new AccessTokenTracker() {
@Override
protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken, AccessToken currentAccessToken) {
// fetchUserInfo();
}
};
callbackManager = CallbackManager.Factory.create();
} else {
Toast.makeText(getApplicationContext(), " access token", Toast.LENGTH_LONG).show();
Token = accessToken.getToken().toString();
}
return accessToken != null;
}
以及fetchinfo函數
private void fetchUserInfo() {
accessToken = AccessToken.getCurrentAccessToken();
Toast.makeText(getApplicationContext(),
"Relogin successful?" + AccessToken.getCurrentAccessToken().getToken().toString(), Toast.LENGTH_LONG)
.show();
if (accessToken != null) {
GraphRequest request = GraphRequest.newMeRequest(accessToken, new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject me, GraphResponse response) {
// LinkFacebook(socialService);
// FindFriends(socialService);
Token = accessToken.getToken().toString();
}
});
Bundle parameters = new Bundle();
parameters.putString(FIELDS, REQUEST_FIELDS);
request.setParameters(parameters);
GraphRequest.executeBatchAsync(request);
} else {
Toast.makeText(getApplicationContext(), "Relogin failed.", Toast.LENGTH_LONG).show();
}
}
但是我的accessstoken仍然是null。
謝謝
我最終做的是在共享偏好中保存令牌,然后在我的應用程序中使用它。 這讓我可以在我的所有活動中使用我的代幣。
不管它是否會在以后打破,我不確定。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.