2012-05-01 42 views
21

在Android設備上播放,打開鏈接在谷歌Play上的應用:開放應用程序從一個重定向鏈接

https://play.google.com/store/apps/details?id=com.rovio.angrybirds&hl=en

會自動打開谷歌默認Play應用。

但是,如果您有鏈接重定向至Google Play鏈接,則該設備將打開瀏覽器,然後導航至Google Play的瀏覽器版本。爲什麼會發生這種行爲?

不幸的是,我不能使用market://可以打開Play的Intents,我只能控制一個網頁鏈接。

編輯: 好像如果我有鏈接重定向到市場:// URL,它可以打開與谷歌在設備上播放。

如果在瀏覽器中打開鏈接,它可以重定向到Google Play的瀏覽器版本,儘管市場://不支持在瀏覽器中。

+1

來也怪:重定向到http://market.android.com/details?id=,而不是谷歌播放域允許設備提示與播放應用程序打開。 – nicobatu

+0

問題是,當瀏覽器獲取「market://」url時,不會做另一個意圖。所以谷歌播放應用程序無法使用。我在某些設備上看到,瀏覽器會這樣做,當您重定向到「market://」網址時,googlePlay應用已打開。它是瀏覽器的東西 – Sulfkain

回答

4

基本上,https://play ....只是一個網址。我懷疑這個工作的方式(這是這樣的標準方式Android版)是:

  1. 市場發揮應用寄存器能夠處理這種類型的網址(您可以註冊處理某些意圖,並應用過濾器以進一步定義您的應用將處理的內容)。
  2. 該應用程序啓動的意圖與https://play ... URL
  3. 該用戶呈現所有應用程序的註冊處理該意圖的列表。因此,用戶能夠啓動Play應用程序 - 第一次(在電話中)https:\ play ...意圖被啓動
  4. 當用戶選擇要實現該意圖的應用程序時,如果他們選擇瀏覽器然後將其設置爲默認值) - 瀏覽器將啓動(並且下次不會向用戶提供該選項)。
  5. 該默認可以通過「設置\應用程序\全部 - 然後找到瀏覽應用程序,選擇它,然後選擇清除默認值」

你可以調用播放市場直接與市場的意圖,或者使用URL方式。我個人使用URL方式 - 儘管使用它還有一些額外的挑戰(如處理這個特定問題)。

+0

如何在沒有重定向playstore的情況下打開應用程序? – 151291

+0

問這是一個真正的問題,而不是作爲另一個問題的評論。 – Booger

1

我的猜測是該行爲是由谷歌強制執行的。重定向可能使惡意開發者更容易安裝他們的應用程序。 Google可能會檢查用戶是否來自重定向,如果是,則不會觸發Play應用的打開。

+0

我們如何避免這種情況,我想從重定向鏈接打開我的應用程序,但是當它進入瀏覽器時,它並沒有打開我的應用程序。任何幫助? –

35

使用target="_top"

<a href="market://details?id={package_name}" target="_top">App</a> 
+0

這實際上起作用。我沒有看到,爲什麼選擇了接受的答案。 –

+0

這不是重定向任何東西,它只是直接進入市場網址。 – nicobatu

+0

工程就像一個魅力。我想進一步去。它會打開選​​擇器彈出窗口,用戶應從中選擇來自設備上其他市場應用的Google Play應用。跳過選擇器並直接打開谷歌播放將是非常好的。可能嗎? – abedfar

相關問題