使用React Native FBSDK在Android上禁用加载微调器

时间:2018-03-22 21:32:36

标签: android react-native react-native-fbsdk

我正在使用React Native FBSDK在我的React Native应用程序中处理Facebook身份验证。我想使用我自己的加载微调器,但LoginManager.logInWithReadPermissions()似乎已经包含一个加载微调器。有什么方法可以禁用它吗?

相关问题似乎涉及在AndroidManifest中的android:theme="@android:style/Theme.NoDisplay"代码上设置activity。 React Native FBSDK让我包括:

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

在AndroidManifest中。我不相信将android:theme属性附加到此标记是有意义的(我已经尝试了这个并且没有达到预期的结果)。

我尝试添加以下activity标记:

<activity android:name="com.facebook.FacebookAcitivity" android:theme="@android:style/Theme.NoDisplay" tools:replace="android:theme" />

到我的Android Manifest,除了添加以下属性:

xmlns:tools="http://schemas.android.com/tools"

到我的manifest标记。这会导致应用程序在单击调用LoginManager.logInWithReadPermissions()的按钮时立即崩溃。

当我运行adb logcat时,堆栈跟踪中出现以下错误消息:

AndroidRuntime: java.lang.IllegalStateException: Activity {com.<my-company-name>.<my-project-name>/com.facebook.FacebookActivity} did not call finish() prior to onResume() completing

将我传入android:theme的值更改为@android:style/Theme.Translucent.NoTitleBar会阻止我的应用程序崩溃。它还会更改加载图标的样式,但不会隐藏它。

1 个答案:

答案 0 :(得分:0)

This question evolved to the point that this answer became applicable.

That is, to disable Facebook's loading spinner when using react-native-fbsdk:

  • Add xmlns:tools="http://schemas.android.com/tools" to the manifest tag in AndroidManifest.
  • Add <activity android:name="com.facebook.FacebookAcitivity" android:theme="@style/FullyTranslucent" tools:replace="android:theme" /> to the application node.
  • Add the styles specified in the aforementioned answer to /android/app/src/main/res/values/styles.xml.