android實現(xiàn)跳轉(zhuǎn)第三方地圖導航

最近有個需求,就是在自己的app項目里面直接根據(jù)定位,跳轉(zhuǎn)進入百度或者高德地圖進行導航。

val uri=Uri.parse("geo:24.473306,118.123456");  //打開地圖定位
val it = Intent(Intent.ACTION_VIEW, uri)
val cn = it.resolveActivity(packageManager)
if(cn == null){
    Toast.makeText(this@MainActivity,"請先安裝第三方導航軟件",Toast.LENGTH_SHORT).show()
   }else{
     Log.v("MainActivity",cn.packageName)
     startActivity(it)
}

如果手機同時安裝高德和百度地圖,則會兩個都顯示出來讓你選擇。如果只有一個,會直接跳轉(zhuǎn)進入地圖。
這里resolveActivity的方法很重要,是判斷能否找到相應(yīng)的可跳轉(zhuǎn)的軟件,如果手機未安裝然后地圖軟件,resolveActivity的值將是空的,這個時候就可以提示先安裝第三方地圖導航軟件。如果沒有該方法就直接跳轉(zhuǎn),會拋出異常。所以這一步判斷很有必要。

git地址:https://gitee.com/stonezry/AndroidDemo

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容