gpt4 book ai didi

android - 使用 facebook 登录按钮停止应用程序

转载 作者:行者123 更新时间:2023-11-30 01:45:44 25 4
gpt4 key购买 nike

我想在我的 android 应用程序中实现 facebook 登录,但是当 onCreate 设置布局时我的应用程序崩溃。

MainActivity.java

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import com.facebook.CallbackManager;
import com.facebook.FacebookSdk;
import com.facebook.login.widget.LoginButton;

public class MainActivity extends AppCompatActivity {

private LoginButton facebookLoginButton;
private CallbackManager callbackManager;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
System.out.println("Prova 1");
try {
setContentView(R.layout.activity_main);
}catch(Exception exc){
System.out.println("Errore activity "+exc);
}
System.out.println("Prova 2");

FacebookSdk.sdkInitialize(this.getApplicationContext());
System.out.println("Prova 3");

}

}

模块:app build.gradle

repositories {
mavenCentral()
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.0'

compile 'com.facebook.android:facebook-android-sdk:4.7.0'
}

activity_main.xml

<com.facebook.login.widget.LoginButton
xmlns:fb="http://schemas.android.com/apk/res-auto"
android:id="@+id/login_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="30dp"
android:layout_marginBottom="30dp" />

系统只打印“Prova 1”,我不知道为什么!

这是 list :

<uses-permission android:name="android.permission.INTERNET"/>
<activity
android:name="com.facebook.FacebookActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />

使用元数据:

<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id"/>

我的手机有 api 19,但应用程序可以使用 15 到 23 api。我也在网上找到的其他应用程序中复制了这段代码 login-basic哪里不崩溃。

我的错误是什么?有一天我测试了这个但什么都没有,请帮助我!谢谢!!

-------------------------------------------- ---更新中--------------------

对不起,我已经设置了互联网权限。问题是主要构建 setContentView(R.layout.activity_main); 时,我不知道为什么。在 activity_main 中只有 facebook 按钮。此外,我在一个新项目中尝试了这段代码,这就是为什么我将所有内容都放在 main 中的原因。

捕获错误是:I/System.out: Errore android.view.InflateException: Binary XML file line #14: Error inflating class com.facebook.login.widget.LoginButton

最佳答案

我遇到了同样的问题,解决方案是在像这样调用 setContentView 函数之前初始化 facebooksdk。

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

FacebookSdk.sdkInitialize(getApplicationContext());
setContentView(R.layout.activity_main);
}

由于您使用的是 facebook LoginButton,它是一个 View ,因此必须在加载 UI 内容之前进行初始化。

关于android - 使用 facebook 登录按钮停止应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33762098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com