【问题标题】:React Native - MainActivity.java反应本机 - MainActivity.java
【发布时间】:2016-04-18 07:57:30
【问题描述】:

我正在尝试在我使用 react native 制作的应用中实现 google 登录。但是,我基本上必须更改整个 MainActivity.java 文件。

我会改的

public class MainActivity extends ReactActivity {

public class MainActivity extends AppCompatActivity implements
    GoogleApiClient.OnConnectionFailedListener,
    View.OnClickListener {

这改变了很多事情,因为它不再扩展 ReactActivity,它现在扩展了 AppCompatActivity。

我的问题是:可以更改 MainActivity 扩展的内容吗?不需要 ReactActivity 吗?此外,ReactActivity 似乎有 AppCompatActivity 没有的方法,例如protected List<ReactPackage> getPackages() {

顺便说一句,我得到 AppCompatActivity 的地方是 https://github.com/googlesamples/google-services/blob/master/android/signin/app/src/main/java/com/google/samples/quickstart/signin/SignInActivity.java 这是用于 Google 登录的 Google github 存储库。

我目前遇到的另一个问题是,我必须更改 MainActivity.java 才能让 Google 登录正常工作。当我尝试实现其他东西时,比如说视频捕获,我是创建一个新的 MainActivity.java 文件,例如 VideoActivity.java,还是对一个 MainActivity.java 文件中的所有内容进行所有更改。

谢谢

【问题讨论】:

    标签: java android reactjs react-native google-signin


    【解决方案1】:

    AFAIK,ReactActivity 扩展 (android.support.v4.app.)FragmentActivity,您可以将它传递给 enableAutoManage。使用它作为你的基类应该没有问题。

    Sign-In api 本身不需要任何 UI 代码,但为了节省一些样板代码,建议与需要 FragmentActivity 的 GoogleApiClient.Builder.autoManage 一起使用。即使对于没有 FragmentActivity 的应用程序,他们仍然可以在没有 enableAutoManage 的情况下使用 Sign-In api(然后他们应该手动调用其 GoogleApiClient 的 connect() / disconnect() ,如下所示: https://developers.google.com/android/guides/api-client)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-10
      • 2021-12-26
      • 2019-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多