私はGoogleプレイサービスを手動でアップグレードしようとしていますが、常に文が有効になっている場合。 私は2つのデバイスでテストします.1つ目のデバイスでは、Googleのバージョンが10未満のダイアログが正しく表示されますが、Google再生サービスがアップグレードされた2番目のデバイスでは、実行後にアプリケーションがクラッシュします。他になぜAndroid oncreateメソッドでアクティブではないのですか?
@Override
protected void onCreate(Bundle savedInstanceState) {
if (checkPlayServices(ActivityMap.this) == true) {
dialog.show();
} else {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
shopOnMap();
if (savedInstanceState != null) {
mLastKnownLocation = savedInstanceState.getParcelable(KEY_LOCATION);
mCameraPosition = savedInstanceState.getParcelable(KEY_CAMERA_POSITION);
}
mGoogleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this /* FragmentActivity */,
this /* OnConnectionFailedListener */)
.addConnectionCallbacks(this)
.addApi(LocationServices.API)
.addApi(Places.GEO_DATA_API)
.addApi(Places.PLACE_DETECTION_API)
.build();
mGoogleApiClient.connect();
}
}
public boolean checkPlayServices(Activity activity) {
boolean res= false;
GoogleApiAvailability apiAvailability = GoogleApiAvailability.getInstance();
int resultCode = apiAvailability.isGooglePlayServicesAvailable(activity);
if (resultCode != ConnectionResult.SUCCESS) {
AlertDialog.Builder builder = new AlertDialog.Builder(ActivityMap.this);
builder.setMessage("Do you want update Google play services?")
.setTitle("Google Play Services");
builder.setPositiveButton("ِDownload", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
new DownloadNewVersion().execute();
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
}
});
dialog = builder.create();
res=true;
}
return res;
}
特にif文と条件として文脈や意味に敏感なことについて、コードに関して質問をするときには、そのコードが書かれている言語を常にタグとして含めます。次回は忘れないでください。 –