我正在使用解析后端。我试图将我的应用程序与Facebook集成。我正在按照parse.com上给出的教程。但是,当我尝试使用Facebook设置登录时,我开始遇到问题。在本教程中,给出了一小段代码:
ParseFacebookUtils.logInWithReadPermissionsInBackground(this, permissions, 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!");
}
}
});
但是,当我在我的应用程序中复制此代码时,出现“无法解析符号'logInWithReadPermissionsInBackground'”的错误。当我在Android studio中打开ParseFacebookUtils类时,它没有任何名为“logInWithReadPermissionsInBackground”的方法,但是在ParseFacebookUtils类的网站上确实有它。 为什么我没有这个方法?我正在使用ParseFacebookUtilsV4-1.9.1.jar,这是最新的。 请帮我。
答案 0 :(得分:2)
我遇到了同样的问题,但我的问题是为logInWithReadPermissionsInBackground
的第一个参数提供了无效的上下文。由于我是从OnClickListener类中调用它,因此第一个参数应该是MyActivity.this
而不是this
。你可能有同样的情况。
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final List<String> permissions = null;
ParseFacebookUtils.logInWithReadPermissionsInBackground(SignInActivity.this, permissions, new LogInCallback() { ... }
答案 1 :(得分:0)
&#34;无法解析符号&#34;通常发生在app的gradle文件中缺少的依赖项。
当ParseFacebookUtils.jar成为一个单独的jar文件时,你需要直接为它添加依赖项,而不仅像以前一样为Parse.jar添加依赖项。
这是我添加的内容。
compile fileTree(dir: 'libs', include:'ParseFacebookUtilsV4-*.jar')
希望这可以解决您的问题。 欢呼声。
答案 2 :(得分:0)
如果将ParseFacebookUtilsv4-1.9.4.jar
文件复制到项目的libs文件夹中:
你的家属看起来像这样:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.parse.bolts:bolts-android:1.+'
compile 'com.facebook.android:facebook-android-sdk:4.1.0'
compile fileTree(dir: 'libs', include: 'Parse-*.jar')
}
我认为没有任何理由不解决logInWithReadPermissionsInBackground
。
答案 3 :(得分:0)
如果您使用解析最新版本,请更改为:
Parse-1.9.2.