我正在使用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
会阻止我的应用程序崩溃。它还会更改加载图标的样式,但不会隐藏它。
答案 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:
xmlns:tools="http://schemas.android.com/tools"
to the manifest
tag in AndroidManifest.<activity android:name="com.facebook.FacebookAcitivity" android:theme="@style/FullyTranslucent" tools:replace="android:theme" />
to the application
node./android/app/src/main/res/values/styles.xml
.