除非您在真实设备上更新Google Play服务错误,否则应用不会运行

时间:2017-04-01 20:01:04

标签: android firebase google-play-services firebase-authentication

我正在为我的应用程序使用Firebase Auth,在某些设备中它会抛出该错误,我的firebase依赖项为9.6.1。

1 :我可以对此做点什么吗?

2 :onComplete永远不会被调用,所以我不知道用户是否不支持这个,我怎么能处理呢?

3 :是否有很多设备的谷歌播放服务版本低于这个?

由于

2 个答案:

答案 0 :(得分:2)

在应用初始化期间,您的代码应调用GoogleApiAvailability.makeGooglePlayServicesAvailable()。调用的处理:

  

尝试在此设备上提供Google Play服务。如果   Play服务已经可用,返回的任务可能已完成   立即

     

如果需要显示UI以完成此请求   (例如,将用户发送到Google Play商店)传递的活动   将用于显示此UI。

     

建议从onCreate(Bundle)调用此方法。如果   传递的Activity在返回的Task完成之前完成,即Task   将因CancellationException而失败。

在主要活动的onCreate()中使用示例:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    GoogleApiAvailability.getInstance().makeGooglePlayServicesAvailable(this)
        .addOnCompleteListener(this, new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                if (task.isSuccessful()) {
                    Log.d(TAG, "onComplete: Play Services OKAY");
                } else {
                    // Show the user some UI explaining that the needed version
                    // of Play Services could not be installed and the app can't run.
                }
            }
    });

    ...
}

答案 1 :(得分:0)

我建议您降低在应用中使用的Google Play服务版本:除非您在Play服务的更高版本中特别需要某些内容?它不应该导致您的应用程序出现问题,但应解决需要更新的用户的问题。