我尝试使用Facebook登录按钮构建一个简单的应用程序,我使用了教程,应用程序启动,Facebook登录按钮就在那里,但是当我按下它时,应用程序“退出”(在任务切换器中仍然可见) )。
我尝试使用
compile 'com.facebook.android:facebook-android-sdk:4.6.0'
和
compile 'com.facebook.android:facebook-android-sdk:4.11.0'
。
日志没有说任何特殊内容:
04-24 19:03:08.721 1569-1569/com.example.fblogin D/FLRT: onCreate
04-24 19:03:08.721 1569-1569/com.example.fblogin D/FLRT: facebookSDKInitialize
04-24 19:03:08.761 1569-1648/com.example.fblogin D/libc-netbsd: [getaddrinfo]: hostname=xxxxx; servname=(null); cache_mode=(null), netid=0; mark=0
04-24 19:03:08.762 1569-1648/com.example.fblogin D/libc-netbsd: [getaddrinfo]: ai_addrlen=0; ai_canonname=xxxxx; ai_flags=4; ai_family=0
04-24 19:03:08.762 1569-1648/com.example.fblogin D/libc-netbsd: [getaddrinfo]: hostname=xxxxx; servname=(null); cache_mode=(null), netid=0; mark=0
04-24 19:03:08.762 1569-1648/com.example.fblogin D/libc-netbsd: [getaddrinfo]: ai_addrlen=0; ai_canonname=xxxxx; ai_flags=1024; ai_family=0
04-24 19:03:08.766 1569-1648/com.example.fblogin I/System.out: propertyValue:false
04-24 19:03:08.832 1569-1569/com.example.fblogin I/PhoneWindow: [generateLayout] setColorNavigationBar => color=0x ff000001
04-24 19:03:08.833 1569-1569/com.example.fblogin D/PhoneWindowEx: [PWEx][generateLayout] setNavigationBarColor2 : colors=0xfff5f5f5
04-24 19:03:08.833 1569-1569/com.example.fblogin I/PhoneWindow: [setNavigationBarColor2] color=0x fff5f5f5
04-24 19:03:08.850 1569-1569/com.example.fblogin D/FLRT: getLoginDetails
04-24 19:03:08.874 1569-1671/com.example.fblogin D/OpenGLRenderer: Render dirty regions requested: true
04-24 19:03:08.875 1569-1671/com.example.fblogin I/Adreno-EGL: <qeglDrvAPI_eglInitialize:410>: EGL 1.4 QUALCOMM build: AU_LINUX_ANDROID_LA.BF.1.1.1_RB1.05.00.02.042.013_msm8974_LA.BF.1.1.1_RB1__release_AU ()
OpenGL ES Shader Compiler Version: E031.25.03.00
Build Date: 01/21/15 Wed
Local Branch: mybranch7061829
Remote Branch: quic/LA.BF.1.1.1_rb1.7
Local Patches: NONE
Reconstruct Branch: AU_LINUX_ANDROID_LA.BF.1.1.1_RB1.05.00.02.042.013 + NOTHING
04-24 19:03:08.876 1569-1671/com.example.fblogin I/OpenGLRenderer: Initialized EGL, version 1.4
04-24 19:03:08.894 1569-1671/com.example.fblogin D/OpenGLRenderer: Enabling debug mode 0
04-24 19:03:08.902 1569-1569/com.example.fblogin D/Atlas: Validating map...
04-24 19:03:09.113 1569-1569/com.example.fblogin I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@23deb521 time:5375840
04-24 19:03:35.675 1569-1569/com.example.fblogin I/ViewRootImpl: ViewRoot's Touch Event : ACTION_DOWN
04-24 19:03:35.711 1569-1569/com.example.fblogin I/ViewRootImpl: ViewRoot's Touch Event : ACTION_UP
最后2个条目(触摸事件:ACTION_DOWN和ACTION_UP)是按下登录按钮的日志。之后没有日志条目。
活动:
public class LoginActivity extends AppCompatActivity {
public static final String FLRT = "FLRT";
private LoginButton loginButton;
public CallbackManager callbackManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d(FLRT, "onCreate");
facebookSDKInitialize();
setContentView(R.layout.activity_login);
loginButton = (LoginButton) findViewById(R.id.login_button);
loginButton.setReadPermissions("public_profile", "user_friends","user_birthday","user_about_me","email");
getLoginDetails(loginButton);
}
@Override
public void onBackPressed() {
LoginActivity.this.finish();
super.onBackPressed();
}
protected void facebookSDKInitialize() {
Log.d(FLRT, "facebookSDKInitialize");
FacebookSdk.sdkInitialize(LoginActivity.this);
AppEventsLogger.activateApp(this);
callbackManager = CallbackManager.Factory.create();
}
protected void getLoginDetails(LoginButton login_button){
Log.d(FLRT, "getLoginDetails");
// Callback registration
login_button.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult login_result) {
Log.d(FLRT, "Facebook Login: Successful!");
}
@Override
public void onCancel() {
// code for cancellation
Log.d(FLRT, "Facebook Login: Canceled!");
}
@Override
public void onError(FacebookException exception) {
// code to handle error
Log.d(FLRT, "Facebook Login: Error: " + exception.toString());
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.d(FLRT, "onActivityResult");
callbackManager.onActivityResult(requestCode, resultCode, data);
Log.e("data",data.toString());
}
}
哪里失败了?
谢谢!
答案 0 :(得分:0)
您是否已将应用ID添加到AndroidManifest.xml
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id" />