我正在尝试在我的应用中实施谷歌登录,我正在做反应原生。但是,我必须基本上更改整个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登录的github回购。
我目前遇到的另一个问题是,我必须更改MainActivity.java以使Google登录正常运行。当我尝试实现其他内容时,比如视频捕获我是否创建了一个新的MainActivity.java文件,例如VideoActivity.java,或者我是否对一个MainActivity.java文件中的所有内容进行了所有更改。
由于
答案 0 :(得分:1)
AFAIK,ReactActivity扩展(android.support.v4.app。)FragmentActivity,您可以将其传递给enableAutoManage。使用它作为基类应该没有问题。
登录api本身并不需要任何UI代码,但为了节省一些样板代码,建议将它与需要FragmentActivity的GoogleApiClient.Builder.autoManage一起使用。即使对于具有非FragmentActivity的应用程序,他们仍然可以在没有enableAutoManage的情况下使用Sign-In api(然后他们应该手动调用他们的GoogleApiClient的connect()/ disconnect(),如下所示: https://developers.google.com/android/guides/api-client)