如何在Android真機上檢測是否有Google Map add-on

來源:互聯網
上載者:User

    並不是所有的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,即:

<!-- The "android:required" attribute was added in API level 5 (Android 2.0) -->
<uses-library android:name="com.google.android.maps" android:required="false" />

    這代表如果在目標機器上內建了Google Map add-on,則可以正常使用應用;如果目標機器沒有內建Google Map add-on,也可以成功安裝應用。但是開發人員需要在代碼中自行判斷Google Map add-on是否可用,舉例如下:

try {
Class.forName( "com.google.android.maps.MapActivity" );
} catch (Exception e) {
Toast.makeText(MainActivity.this, "Oop! google地圖不可用", Toast.LENGTH_SHORT).show();
return;
}

Intent intent =new Intent();
intent.setClass(MainActivity.this, MyMapActivity.class);
startActivity(intent);

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.