在没有内置Google Map add-on的Android真机上如何安装地图程序呢?

想要在Android真机上安装带有GoogleMapAdd-on的应用需要真机本身内置了GoogleMapAdd-on,那么对于没有内置的真机,我们怎么安装呢?并不是所有的Android真机中都带有GoogleMapadd-on,要想内置GoogleMapadd-on是需要和google商谈的。但是若我们开发一个使用到了GoogleMapadd-on的Android应用程序(即使用了<uses-libraryandroid:name="com.google.android.maps"></uses-library>),就会发现这个程序不能成功安装在没有内置GoogleMapadd-on的真机中,那么我们有什么办法来解决这个问题呢?方法有两个:1)维护两条代码分支:一条分支是针对于内置有GoogleMapadd-on的Android真机,另一条分支是没有内置有GoogleMapadd-on的Android真机。但是这样做会增加维护成本,而且粗心的用户可能会在自己的机器上安装了不匹配的分支,从而降低了软件的友好度。2)仍然只保留一条代码分支:国外一位大牛指出:在<uses-library>标签中还包含了一个没有公布的属性"android:required",你可以将com.google.android.maps库的这个属性设置为false,即:[xhtml]viewplaincopy01.<!--The"android:required"attributewasaddedinAPIlevel5(Android2.0)-->02.<uses-libraryandroid:name="com.google.android.maps"android:required="false"></uses-library>这代表如果在目标机器上内置了GoogleMapadd-on,则可以正常使用应用;如果目标机器没有内置GoogleMapadd-on,也可以成功安装应用。但是开发人员需要在代码中自行判断GoogleMapadd-on是否可用,举例如下:[java]viewplaincopy01.try{02.Class.forName("com.google.android.maps.MapActivity");03.}catch(Exceptione){04.Toast.makeText(MainActivity.this,"Oop!google地图不可用",Toast.LENGTH_SHORT).show();05.return;06.}07.08.Intentintent=newIntent();09.intent.setClass(MainActivity.this,MyMapActivity.class);10.startActivity(intent);转载自http://www.cnblogs.com/gansc23/archive/2011/02/28/1967207.html</uses-library>

相关推荐