我想在我的应用程序上运行 Huawei P40
. 这款手机不支持Google Play服务。所以我做了APK AppGallery.
应用程序工作正常(只有谷歌地图无法打开),但当我改变一些标签或内容时,一些系统对话框会弹出信息,其中包括 "MyApp won't run without Google Play services, which are not supported by your device."
这个对话框可以点击关闭,但每次我切换时它都会重新出现。Activity
或 Fragment
.
有什么办法可以让这个消息失效吗?我实现了 HMS
对我 Gradle
文件。
该弹出窗口通常是由于在代码中有以下方法而发生的
GoogleApiAvailability.makeGooglePlayServicesAvailable
GoogleApiAvailability.showErrorDialogFragment
GoogleApiAvailability.getErrorDialog
为了克服这个问题,有一个像下面这样的控件应该是有帮助的,并且在我的案例中也是有效的
GoogleApiAvailability googleApiAvailability = GoogleApiAvailability.getInstance();
int errorCode = googleApiAvailability.isGooglePlayServicesAvailable(this);
googleApiAvailability.makeGooglePlayServicesAvailable(this);
googleApiAvailability.showErrorNotification(this, errorCode);
googleApiAvailability.showErrorDialogFragment(this, errorCode, 100);
Dialog errorDialog = googleApiAvailability.getErrorDialog(this, errorCode, 100);
errorDialog.show();
errorDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
Log.d(TAG, "Play pop-up has been dismissed!");
}
});
另外,也可以利用isGooglePlayServicesAvailable方法并处理它的返回状态SUCCESS, SERVICE_MISSING, SERVICE_UPDATING, SERVICE_VERSION_UPDATE_REQUIRED, SERVICE_DISABLED, SERVICE_INVALID。