raco
raco

Reputation: 408

How to verify Google Play Services

Im trying to figure that out for a few days now, but i can't find some good example about the problem. I think i have founded good code example, but i dont know where/how to use it.

About the problem: whenever app comes from foreground i would like to check if the Google play services are avalable. So for that i want use this code:

static final int REQUEST_CODE_RECOVER_PLAY_SERVICES = 1001;

private boolean checkPlayServices() {
    int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
    if (status != ConnectionResult.SUCCESS) {
        if (GooglePlayServicesUtil.isUserRecoverableError(status)) {
            showErrorDialog(status);
        } else {
            Toast.makeText(this, "This device is not supported.",Toast.LENGTH_LONG).show();
            finish();
        }
        return false;
    }
    return true;
}

void showErrorDialog(int code) {
    GooglePlayServicesUtil.getErrorDialog(code, this,REQUEST_CODE_RECOVER_PLAY_SERVICES).show();
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  switch (requestCode) {
    case REQUEST_CODE_RECOVER_PLAY_SERVICES:
      if (resultCode == RESULT_CANCELED) {
        Toast.makeText(this, "Google Play Services must be installed.",Toast.LENGTH_SHORT).show();
        finish();
      }
      return;
  }
  super.onActivityResult(requestCode, resultCode, data);
}

now i would like to check the services with

if (checkPlayServices()) {
    System.out.println("ok");
}

but where? I have tryed to use that code in class that extends the game, but then

int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);

path cant be found. On the other hand, when i place it in separate activity

public class AuthActivity extends Activity {
    //all previous code
}   

path is ok. Does someone have any idea how to work that out?

Upvotes: 1

Views: 680

Answers (1)

Hải Phong
Hải Phong

Reputation: 5144

Answer: Because this is Android-specific code, you must use that code in the Android module (containing the Activity class), not in the Core module (containing the class that extends Game).

Reason: If you put that function in the Core module, there is no library dependency of GooglePlayServicesUtil for the Core module, hence you cannot refer to the class GooglePlayServicesUtil. Read more on this link for using Android-specific code.

Upvotes: 1

Related Questions