Android-Sitemap软件安装问题

1,763 views

有网友反映在某些机型上安装Sitemap时会出现:应用程序未安装,譬如行货的ME811

google之,查到行货ME811不支持Google Map add-on,而Sitemap是基于android mapview开发的一个应用软件,因此需要先解决Google Map add-on问题,才能将软件安装到手机上。其实在不支持Google Map add-on的手机上,其他基于mapview开发的软件也不能成功安装,譬如一些定位软件等。

有两个问题

1. 如何在程序中判断真机是否有Google Map add-on,以下转帖http://archive.cnblogs.com/a/1967207/

并不是所有的Android真机中都带有Google Map add-on,要想内置Google Map add-on是需要和google商谈的。
但是若我们开发一个使用到了Google Map add-on的Android应用程序(即使用了<uses-library android:name=”com.google.android.maps” />),就会发现这个程序不能成功安装在没有内置Google Map add-on的真机中,那么我们有什么办法来解决这个问题呢?

方法有两个:

1)维护两条代码分支:
一条分支是针对于内置有Google Map add-on的Android真机,另一条分支是没有内置有Google Map add-on的Android真机。
但是这样做会增加维护成本,而且粗心的用户可能会在自己的机器上安装了不匹配的分支,从而降低了软件的友好度。

2)仍然只保留一条代码分支:
国外一位大牛指出:在<uses-library>标签中还包含了一个没有公布的属性”android:required“,你可以将com.google.android.maps库的这个属性设置为false,即:
<uses-library android:name=”com.google.android.maps” android:required=”false” />

这代表如果在目标机器上内置了Google Map add-on,则可以正常使用应用;如果目标机器没有内置Google Map add-on,也可以成功安装应用。但是开发人员需要在代码中自行判断Google Map add-on是否可用,举例如下:

  1.       try
  2.       {
  3.         Class.forName(“com.google.android.maps.MapActivity”);
  4.       } catch (Exception e)
  5.       {
  6.         Toast.makeText(ADASiteMap.this, “Sorry! 您的手机没有内置Google Map add-on,请尝试安装GMS包或刷机:)”, Toast.LENGTH_LONG).show();
  7.         return;
  8.       }
  9. Intent intent = new Intent();
  10. intent.setClass(ADASiteMap.this, SiteMap.class);
  11. startActivityForResult(intent,1);

2.没有Google Map add-on的情况下,如何解决安装GMS包,试试这个http://www.hiapk.com/thread-1056368-1-1.html

转载本站文章请注明,转载自:阿达基站路测的天空[http://blog.signalsitemap.com]

本文链接:Android-Sitemap软件安装问题 | 阿达基站路测的天空

This entry was posted in 公告 and tagged , . Bookmark the permalink.

Comments are closed.