首次登录后无法登录facebook

时间:2016-08-22 04:07:54

标签: android facebook

我尝试创建简单的应用程序登录Facebook,首次登录时,但当我退出并再次尝试登录时显示错误:登录错误:登录时出错。请稍后再试

这是代码:

public class MainActivity extends ActionBarActivity {

private CallbackManager callbackManager;
private LoginButton loginButton;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    FacebookSdk.sdkInitialize(getApplicationContext());
    callbackManager = CallbackManager.Factory.create();
    getFbKeyHash("org.code2care.fbloginwithandroidsdk");

    setContentView(R.layout.activity_main);
    loginButton = (LoginButton)findViewById(R.id.login_button);

    loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {

            System.out.println("Facebook Login Successful!");
            System.out.println("Logged in user Details : ");
            System.out.println("--------------------------");
            System.out.println("User ID  : " + loginResult.getAccessToken().getUserId());
            System.out.println("Authentication Token : " + loginResult.getAccessToken().getToken());
            Toast.makeText(MainActivity.this, "Login Successful!", Toast.LENGTH_LONG).show();
        }

        @Override
        public void onCancel() {
            Toast.makeText(MainActivity.this, "Login cancelled by user!", Toast.LENGTH_LONG).show();
            System.out.println("Facebook Login failed!!");

        }

        @Override
        public void onError(FacebookException e) {
            Toast.makeText(MainActivity.this, "Login unsuccessful!", Toast.LENGTH_LONG).show();
            System.out.println("Facebook Login failed!!");
        }
    });
}

public void getFbKeyHash(String packageName) {

    try {
        PackageInfo info = getPackageManager().getPackageInfo(
                packageName,
                PackageManager.GET_SIGNATURES);
        for (Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            Log.d("YourKeyHash :", Base64.encodeToString(md.digest(), Base64.DEFAULT));
            System.out.println("YourKeyHash: "+ Base64.encodeToString(md.digest(), Base64.DEFAULT));
        }
    } catch (PackageManager.NameNotFoundException e) {

    } catch (NoSuchAlgorithmException e) {

    }

}

@Override
protected void onActivityResult(int reqCode, int resCode, Intent i) {
    callbackManager.onActivityResult(reqCode, resCode, i);
}
在AndroidMainifest中我添加了

 <meta-data
        android:name="com.facebook.sdk.ApplicationId"
        android:value="@string/facebook_app_id" />

    <activity
        android:name="com.facebook.FacebookActivity"
        android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" />

<uses-permission android:name="android.permission.INTERNET"/>

在我的设置中,我在公开场合检查了我的应用程序?并登录一次 这里发生了什么?请帮帮我

0 个答案:

没有答案