android - 检查是否正确的 Google Play 服务可用 : "Unfortunately application has stopped working"

标签 android

每次在手机上运行应用程序都会崩溃。有什么不对?它说不幸的是“appname”已停止工作。我也尝试过其他方法来检查 googleplay 服务,但它总是崩溃。我更新了我的 google play 服务,并且有一个可以正常工作的 google map v2。这段代码有什么解决方案吗?它在我运行 android 4.1.2 的手机和我的 AVD 上崩溃。

package com.example.checkgoogleplayproject;

import android.app.Activity;
import android.app.Dialog;
import android.os.Bundle;
import android.view.Menu;
import android.widget.TextView;

import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GooglePlayServicesUtil;

public class MainActivity extends Activity {

    @Override
    protected void onResume() {
        super.onResume();

        // Getting reference to TextView to show the status
        TextView tvStatus = (TextView)findViewById(R.id.tv_status);

        // Getting status
        int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(getBaseContext());

        // Showing status
        if(status==ConnectionResult.SUCCESS)
            tvStatus.setText("Google Play Services are available");
        else{
            tvStatus.setText("Google Play Services are not available");
            int requestCode = 10;
            Dialog dialog = GooglePlayServicesUtil.getErrorDialog(status, this, requestCode);
            dialog.show();
        }
    }

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

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
}

最佳答案

要检查 GooglePlayServices 是否可用,请使用 GoogleApiAvailability . isGooglePlayServicesAvailable() , 作为 GooglePlayServicesUtil . isGooglePlayServicesAvailable() 已弃用

public boolean isGooglePlayServicesAvailable(Context context){
    GoogleApiAvailability googleApiAvailability = GoogleApiAvailability.getInstance();
    int resultCode = googleApiAvailability.isGooglePlayServicesAvailable(context);
    return resultCode == ConnectionResult.SUCCESS;  
}

更新:检查 google play 服务是否可用,如果 google play 服务不可用且错误可恢复,则打开对话框以解决错误。

public boolean isGooglePlayServicesAvailable(Activity activity) {
    GoogleApiAvailability googleApiAvailability = GoogleApiAvailability.getInstance();
    int status = googleApiAvailability.isGooglePlayServicesAvailable(activity);
    if(status != ConnectionResult.SUCCESS) {
        if(googleApiAvailability.isUserResolvableError(status)) {
              googleApiAvailability.getErrorDialog(activity, status, 2404).show();
        }
        return false;
    }
    return true;
}

关于android - 检查是否正确的 Google Play 服务可用 : "Unfortunately application has stopped working",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22493465/

相关文章:

java - 像retro-lambda这样的Gradle任务可以混淆静态字符串

android - 如何知道何时使用Kotlin中的SearchView隐藏键盘?

android - 是否可以在一些人使用 Xamarin IDE 而其他人使用 Visual Studio 的团队中工作?

java - 在 listView android 中设置 alpha 透明度

android - 如何在 Android 的应用程序中显示文件预览和打开文件?

java - JSONException 、 JSONObject 异常错误

RTL 语言中的 Android 光标

Android Studio 快速文档窗口大小

android - Xamarin 安卓 : center not working for textview

android - 清理 Android 截屏视频