我想在我的Android应用程序中使用firebase登录facebook,所以在将我的应用程序与firebase连接后,我添加了facebook sdk compile 'com.facebook.android:facebook-android-sdk:[4,5)'
的依赖关系但是当我运行我的应用程序时它会显示
android.view.InflateException:二进制XML文件行#20:二进制XML文件行#20:错误输出类com.facebook.login.widget.LoginButton
XML代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.environer.becofriend.MainActivity"
android:orientation="vertical"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.facebook.login.widget.LoginButton
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
注意:我没有在MainActivity中添加任何代码,因为sdk在新的sdk中自动初始化
答案 0 :(得分:0)
试试这个,我认为改变成绩将完成工作,我有工作的例子
1) Gradle
compile 'com.facebook.android:facebook-android-sdk:4.0.0'
2)的 XML 强>
<com.facebook.login.widget.LoginButton
android:background="@drawable/login_button_back_one"
android:id="@+id/login_button"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
3) Java
private AccessTokenTracker accessTokenTracker;
private ProfileTracker profileTracker;
private CallbackManager callbackManager;
LoginButton loginButton;
FacebookSdk.sdkInitialize(ActivityName.this);
loginButton = (LoginButton) findViewById(R.id.login_button);
callbackManager = CallbackManager.Factory.create();
accessTokenTracker= new AccessTokenTracker() {
@Override
protected void onCurrentAccessTokenChanged(AccessToken oldToken, AccessToken newToken) {
}
};
accessTokenTracker.startTracking();
private void displayMessage(Profile profile){
if(profile != null){
Log.v("@@@WWE"," "+profile);
}
}