这是我的代码,现在我正在尝试在AVD上运行,但是当我使用真正的android设备调试选项时,他们没有输入onActivityResult函数对我有帮助吗?
package com.example.nhp04.gqfood;
import com.facebook.AccessToken;
import com.facebook.AccessTokenTracker;
import com.facebook.CallbackManager;
import com.facebook.FacebookCallback;
import com.facebook.FacebookException;
import com.facebook.FacebookSdk;
import com.facebook.Profile;
import com.facebook.login.LoginResult;
import com.facebook.login.widget.LoginButton;
public class Login extends AppCompatActivity implements Animation.AnimationListener {
private String info = "";
private LoginButton loginButton;
private CallbackManager callbackManager;
private AccessTokenTracker tracker;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(getApplicationContext());
callbackManager = CallbackManager.Factory.create();
setContentView(R.layout.activity_login);
loginButton = (LoginButton)findViewById(R.id.login_button);
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
AccessToken accessToken = loginResult.getAccessToken();
Profile profile = Profile.getCurrentProfile();
info = ("User ID: " +
loginResult.getAccessToken().getUserId() + "\n" + "Auth Token: " + loginResult.getAccessToken().getToken());
}
@Override
public void onCancel() {
info = ("Login attempt canceled.");
}
@Override
public void onError(FacebookException e) {
info = ("Login attempt failed.");
}
});
System.out.println(info);
tracker = new AccessTokenTracker() {
@Override
protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken, AccessToken currentAccessToken) {
}
};
tracker.startTracking();
}
}
此功能用于检查登录
public boolean isLoggedIn(){
AccessToken accessToken = AccessToken.getCurrentAccessToken();
return accessToken != null;
}
这在Resume和Stop方法上
@Override
protected void onResume() {
super.onResume();
if (isLoggedIn()){
Intent home = new Intent(this, home.class);
startActivity(home);
}
}
@Override
protected void onStop() {
super.onStop();
tracker.stopTracking();
finish();
}
这是我的onActivityResult函数,当我在真实设备上调试代码时,该函数未执行,但在AVD上有效。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
callbackManager.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
Intent home = new Intent(this, home.class);
startActivity(home);
} else {
}
}
此代码正常工作,错误是我正在使用debugger key store
Facebook sdk应用程序中的错误,现在我正在使用,RELEASE_KEYSTORE
并且工作良好。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句