Mar*_*man 2 android google-maps android-manifest
我有一个适用于我公司的大型Android应用程序,我们大量使用google maps api来显示位置,包括使用叠加层的活动.现在问题是支持低端Android平板电脑.由于大多数人不支持谷歌地图,我们的应用程序甚至不会安装在他们身上.是否有可能告诉清单只有在设备上可用时才需要google maps api?如果不可用,我会禁用映射功能.
是否有可能告诉清单只有在设备上可用时才需要google maps api?
是.包含android:required="false"在<uses-library>您要求使用Google地图的元素中.然后,您可以使用反射来查看MapActivityDalvik VM中是否存在,如果存在,您可以使用支持地图的设备,并可以安全地启动地图.如果它不存在,则需要禁用映射功能.
下面是一个演示此示例的示例应用程序,其中包含一个MapDetector LAUNCHER活动,该活动可以查看是否MapActivity存在,然后将控制转发到实际MapActivity实现,或者Toast如果应用程序在非Google Maps设备上运行,则会引发一个活动.
以下是该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();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
260 次 |
| 最近记录: |