Android应用程序使用Facebook登录无法安装Facebook App

满堂花醉三千客,一剑霜寒十四州。这篇文章主要讲述Android应用程序使用Facebook登录无法安装Facebook App相关的知识,希望能为你提供帮助。
当我卸载Facebook App但没有安装Facebook App时,此代码运行良好。我正在使用Facebook SDK 4.0。
这是我的代码

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() + " " + "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; }

【Android应用程序使用Facebook登录无法安装Facebook App】这在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
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); callbackManager.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { Intent home = new Intent(this, home.class); startActivity(home); } else { Toast.makeText(getApplicationContext(), "Unable to login please check your internet connection",Toast.LENGTH_LONG).show(); } }

答案你的onActivityResult()代码在哪里在onActivityResult()你需要使用callbackmanager。用户如下代码:
@Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); callbackManager.onActivityResult(requestCode, resultCode, data); }

以上将在片段/活动中工作。确保你有
1. facebook app installed on your testing device 2. In facebook developer account check whether you have mentioned - correct package name : refer your android project manifestfile.xml- check that have you mentioned correct launcher class - Check that you have given correct debug/release hash key3. Cross check your facebook application id and that mentioned in your manifestfile.xml facebook meta data are same

在下面的代码更改中
在qazxsw poi之后创建你的qazxsw poi;
将它改为callbackmanager以下
请记住,如果这是你的Facebook问题,那么你的问题就在于此,不要浪费时间去搜索其他东西。还在facebook sdk的回调中放入登录失败方法。
如果您还有问题,请发表评论
另一答案您可以在Facebook应用中删除您的应用。喜欢你可以在go设置> > 帐户设置> > app > > 你的应用程序> > 删除打开Facebook应用程序。删除你的应用程序后卸载你的应用程序。并重新安装它,并检查登录与Facebook工作与否。
另一答案请更改您的facebook sdk版本,在清理并重建您的应用程序后它将起作用

    推荐阅读