1. 程式人生 > >在建立android + googlemap時應檢查手機是否有Google Play services APK

在建立android + googlemap時應檢查手機是否有Google Play services APK

As described in the Google Play services introduction, Google Play delivers service updates for users on Android 2.2 through the Google Play Store app. However, updates might not reach all users immediately.

Important: Because it is hard to anticipate the state of each device, you must always check for a compatible Google Play services APK in your app before you access Google Play services features. For many apps, the best time to check is during the  method of the main activity.

Here are four scenarios that describe the possible state of the Google Play services APK on a user's device:

  1. A recent version of the Google Play Store app is installed, and the most recent Google Play services APK has been downloaded.
  2. A recent version of the Google Play Store app is installed, but the most recent Google Play services APK hasnot
     been downloaded.
  3. An old version of the Google Play Store app, which does not proactively download Google Play services updates, is present.
  4. The Google Play services APK is missing or disabled on the device, which might happen if the user explicitly uninstalls or disables it.

Case 1 is the success scenario and is the most common. However, because the other scenarios can still happen, you must handle them every time your app connects to a Google Play service to ensure that the Google Play services APK is present, up-to-date, and enabled.

To help you, the Google Play services client library has utility methods to determine whether or not the Google Play services APK is recent enough to support the version of the client library you are using. If not, the client library sends users to the Google Play Store to download the recent version of the Google Play services APK.

Note: The Google Play services APK is not visible by searching the Google Play Store. The client library provides a deep link into the Google Play Store when it detects that the device has a missing or incompatible Google Play services APK.

It is up to you choose the appropriate place in your app to do the following steps to check for a valid Google Play services APK. For example, if Google Play services is required for your app, you might want to do it when your app first launches. On the other hand, if Google Play services is an optional part of your app, you can do these checks if the user navigates to that portion of your app:

  1. Query for the status of Google Play services on the device with the isGooglePlayServicesAvailable()method, which returns a result code.
  2. If the result code is SUCCESS, then the Google Play services APK is up-to-date, and you can proceed as normal.
  3. If the result code is SERVICE_MISSINGSERVICE_VERSION_UPDATE_REQUIRED, or SERVICE_DISABLED, then call getErrorDialog() to display an error message to the user, which allows the user to download the APK from the Google Play Store or enable it in the device's system settings.