APP內部跳轉Google Play

項目中需要跳轉Google Play商店
原理十分簡單,構建一個ACTION_VIEW標記的Intent,并給一個如下結構的 Uri 即可:
"market://details?id=" + getPackageName() //商店中使用包名來唯一標識區分應用
在 Android 平臺上,正常情況下手機中的應用商店應該是 Google Play
但是由于各種你懂我也懂的原因,國內基本上無法使用 Google Play 服務。
好在廣泛的第三方應用市場大多都實現了這個接口。

代碼注釋很詳細:
//這里開始執行一個應用市場跳轉邏輯,默認this為Context上下文對象
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("market://details?id=" + getPackageName())); //跳轉到應用市場,非Google Play市場一般情況也實現了這個接口
//存在手機里沒安裝應用市場的情況,跳轉會包異常,做一個接收判斷
if (intent.resolveActivity(getPackageManager()) != null) { //可以接收
startActivity(intent);
} else { //沒有應用市場,我們通過瀏覽器跳轉到Google Play
intent.setData(Uri.parse("https://play.google.com/store/apps/details?id=" + getPackageName()));
//這里存在一個極端情況就是有些用戶瀏覽器也沒有,再判斷一次
if (intent.resolveActivity(getPackageManager()) != null) { //有瀏覽器
startActivity(intent);
}
}
需要注意的就是,如果界面跳轉失敗,會拋出異常,因此能否跳轉需要進行判斷。

根據以上,同理使用以下Uri進行替換:

Uri.parse("market://search?q=pub:Author Name"); //跳轉到商店搜索界面,并搜索開發者姓名
Uri.parse("market://search?q=Keyword"); //跳轉到商店搜索界面,并搜索關鍵詞

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • ¥開啟¥ 【iAPP實現進入界面執行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 6,511評論 0 17
  • 1.跳轉撥號頁面 Intent intent=new Intent(); intent.setAction(Int...
    周曉風閱讀 797評論 0 0
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,242評論 25 708
  • 你說的話我都聽,你讓我不愛你,我做不到! 你說的話我都聽 那一天,劉軒在實驗室焊接一塊電路板,手機短信鈴音突然一響...
    林夕無夢閱讀 799評論 0 5
  • 古人講:做事要三思,思危,思退,思變,理財亦然。 金融的核心是風險定價,收益都是伴隨著風險的,低...
    簡趣子閱讀 178評論 0 0