解析和Facebook集成(无类错误发现错误)
问题描述:
我正在开发一个使用Parse BaaS的Android应用程序,我想让用户使用他们的Facebook帐户登录。我正在使用Android Studio。我导入了Facebook sdk和Parse和ParseFacebookUtils jar文件。 我有以下的活性的代码解析和Facebook集成(无类错误发现错误)
private void initUI() {
this.loginButton = (Button) findViewById(R.id.main_login_button);
this.loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
loginWithFacebook();
}
});
}
private void loginWithFacebook() {
ParseFacebookUtils.logIn(this, REQUEST_LOGIN, new LogInCallback() {
@Override
public void done(ParseUser parseUser, ParseException e) {
logToDisplay("User logged in " + parseUser.getUsername());
}
});
}
的loginWithFacebook方法被调用。不幸的是,它抛出以下异常:
java.lang.NoClassDefFoundError: com.facebook.Session$Builder
我在做什么错?
在此先感谢;)
答
使用Parse的Android 1.9,我们必须包括ParseFacebookUtils4.jar
同样的文档中给出的例子是不是12小时做了研究后有效。这里是工作的解决方案我有解析1.9和Facebook 4.0 SDK
Button b = (Button)findViewById(R.id.login_button);
ParseFacebookUtils.initialize(this);
//showHashKey(this);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ParseFacebookUtils.logInWithReadPermissionsInBackground(YOUR_ACTIVITY.this, YOUR_PERMISION_COLLECTION, new LogInCallback() {
@Override
public void done(ParseUser user, ParseException err) {
if (user == null) {
Log.d("MyApp", "Uh oh. The user cancelled the Facebook login.");
} else if (user.isNew()) {
Log.d("MyApp", "User signed up and logged in through Facebook!");
} else {
Log.d("MyApp", "User logged in through Facebook!");
}
}
});
}
});
ParseFacebookUtils.logIn
在ParseFacebookUtils4已经过时了。 onActivityResult上还有另一个弃用函数ParseFacebookUtils.finishAuthentication
。它应该是现在这个样子低于
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
ParseFacebookUtils.onActivityResult(requestCode, resultCode, data);
}
答
我发现了另一个不同之处时,在移植的解析Android SDK中1.9和Facebook SDK 4
在您的清单文件替换
<activity android:name="com.facebook.LoginActivity"
android:screenOrientation="portrait"/>
与此:
<activity android:name="com.facebook.FacebookActivity"
android:configChanges=
"keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:label="@string/app_name" />
也许它可以帮助某人。
build.gradle - >在'依赖'中编译'com.facebook.android:facebook-android-sdk:3.21.1' – 2015-03-31 15:48:33
我只是想通了。我试图用Facebook SDK来使用它。有一个支持Facebook SDK版本4的Parse版本1.9。不幸的是,文档没有更新。 谢谢;) – 2015-03-31 15:51:26