Android 可能需要谷歌地图API支持吗?

Android 可能需要谷歌地图API支持吗?,android,google-maps,android-manifest,Android,Google Maps,Android Manifest,我的公司有一个大型安卓应用程序,我们大量使用谷歌地图api来显示位置,包括使用叠加的活动。现在的问题是低端安卓平板电脑的支持。由于绝大多数人不支持谷歌地图,我们的应用程序甚至不会安装在他们身上。只有当google maps api在设备上可用时,才可以告诉清单需要它吗?如果不可用,我将禁用映射功能 只有当google maps api在设备上可用时,才可以告诉清单需要它吗 对。在请求谷歌地图的元素中包括android:required=“false”。然后,您可以使用反射来查看您的Dalvik

我的公司有一个大型安卓应用程序,我们大量使用谷歌地图api来显示位置,包括使用叠加的活动。现在的问题是低端安卓平板电脑的支持。由于绝大多数人不支持谷歌地图,我们的应用程序甚至不会安装在他们身上。只有当google maps api在设备上可用时,才可以告诉清单需要它吗?如果不可用,我将禁用映射功能

只有当google maps api在设备上可用时,才可以告诉清单需要它吗

对。在请求谷歌地图的
元素中包括
android:required=“false”
。然后,您可以使用反射来查看您的Dalvik VM中是否存在
MapActivity
,如果存在,则表明您使用的是支持地图的设备,并且可以安全地启动地图。如果不存在,则需要禁用映射功能

使用
MapDetector
启动器
活动来演示这一点,该活动查看
MapActivity
是否存在,然后将控制转发到实际的
MapActivity
实现,或者如果应用程序在非谷歌地图设备上运行,则引发
Toast

以下是该项目的
MapDetector
活动实施:

public class MapDetector extends Activity {
  @Override
  public void onCreate(Bundle instanceState) {
    super.onCreate(instanceState);

    try {
      Class.forName("com.google.android.maps.MapActivity");
      startActivity(new Intent(this, NooYawk.class));
    }
    catch (Exception e) {
      Toast
            .makeText(this,
                       "Google Maps are not available -- sorry!",
                       Toast.LENGTH_LONG)
            .show();
    }

    finish();
  }
}

非常感谢你。这正是我想要的。