Android Facebook登录"无法启动LoginActivity"

Ant*_*une 9 android facebook facebook-login facebook-sdk-4.0

我已经安装并配置了所有链接Facebook SDK到我的Android应用程序.

  • Facebook SDK在我的项目中
  • 我在Facebook APP ID中添加了我的APP ID
  • 我的Android Key Hash是正确的,并在Facebook Dev的董事会上链接
  • 我的Manifest中有Activity"com.facebook.FacebookActivity"
  • 我的Manifest中有Activity"com.facebook.LoginActivity"
  • 我在我的清单中设置了元数据facebook_app_id并且正确无误

Facebook小部件登录集

<com.facebook.login.widget.LoginButton
        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" />
Run Code Online (Sandbox Code Playgroud)

我的片段类

public class FragmentSetting extends  android.support.v4.app.Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    FacebookSdk.sdkInitialize(getActivity().getApplicationContext());
    SingletonUserData.setCallbackManager(CallbackManager.Factory.create());
}

@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container, Bundle args) {
    if (!SingletonUserData.isLogged()) {
        view = inflater.inflate(R.layout.fragment_logme, container, false);
        TextView facebook = (TextView) view.findViewById(R.id.LogByFacebook);
        loginButton = (LoginButton) view.findViewById(R.id.login_button);
        loginButton.setReadPermissions(Arrays.asList("public_profile", "user_friends", "email"));
        loginButton.setFragment(this);
        loginButton.registerCallback(SingletonUserData.getCallbackManager(), new FacebookCallback<LoginResult>() {...});
Run Code Online (Sandbox Code Playgroud)

    @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    SingletonUserData.getCallbackManager().onActivityResult(requestCode, resultCode, data);
}
Run Code Online (Sandbox Code Playgroud)

几个小时后,我找不到错误.是因为片段吗?我尝试了我的MainActivityToFragment,但我总是有相同的回溯,这是:

登录尝试失败:登录无法在com.facebook.login.LoginManager.startLogin(LoginManager.java:382)的com.facebook.login.LoginManager.logInWithReadPermissions(LoginManager.java:250)com.facebook.login上启动. .widget.LoginButton $ LoginClickListener.onClick(LoginButton.java:689)at com.facebook.FacebookButtonBase $ 1.onClick(FacebookButtonBase.java:310)

Ian*_*ury 25

我能够通过从AndroidManifest.xml中删除LoginActivity来解决这个问题

<!--Remove this-->
<activity android:name="com.facebook.LoginActivity" 
android:theme="@android:style/Theme.Translucent.NoTitleBar" 
android:label="@string/app_name" /> 
Run Code Online (Sandbox Code Playgroud)

并添加

<!--Add this-->
<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" />
Run Code Online (Sandbox Code Playgroud)