检查是否在应用程序的Manifest文件中添加了所需的权限。
确认是否在你的代码的最上层添加了以下几行代码,以确保SDK的初始化 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(getApplicationContext()); CallbackManager callbackManager = CallbackManager.Factory.create(); }
检查你的应用程序是否具有超时问题。 如果确实超时,请尝试更改请求时间,或者如果您的请求需要一些时间,请添加ProgressBar / ProgressDialog以便您的用户了解请求的进度。
如果您正在使用Facebook登录,最好删除并重新添加密钥散列到基本Facebook应用程序中。 请使用以下代码段获取您的密钥散列, // Add code to print out the key hash try { PackageInfo info = getPackageManager().getPackageInfo( "com.yourpackage.name", PackageManager.GET_SIGNATURES); for (Signature signature : info.signatures) { MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT)); } } catch (PackageManager.NameNotFoundException e) { Log.e("KeyHash:", "Unable to find package name", e); } catch (NoSuchAlgorithmException e) { Log.e("KeyHash:", "Unable to get signature. Algorithm not supported", e); }
复制从Logcat中打印输出的KeyHash并添加到您的基本Facebook应用程序并保存更改。