2017-10-12 171 views
0

我正在嘗試編寫一個意圖過濾器,以便當我的應用程序未安裝時,用戶被鏈接到Play商店,否則我的應用程序被打開。最好用一些自定義數據,但這不是必需的。我發現this answer這似乎提供了我想要的。但是,它不適合我。 Play商店始終打開。如果我添加主機屬性,那麼無論提供的實際ID如何,我的應用總是處於打開狀態。所以看起來sspPrefix屬性在所有情況下都被忽略。有什麼理由可以這樣嗎?我錯過了明顯的東西嗎?我正在使用targetSdkVersion 23和minSdkVersion 17.Android sspPrefix被忽略

更一般地說,是否有更好的方法在應用頁面打開Play商店,或者在應用已經安裝的情況下打開Play商店?

+1

請注意'sspPrefix'很大程度上沒有記錄,所以即使設備運行Android 4.4+,一些設備也可能不支持它。 – CommonsWare

+0

很高興知道。在這種情況下,退回到簡單地打開Play商店就沒有問題。 – CalumMcCall

回答

1

sspPrefix was added in API 19。如果您嘗試使用的是< 19的Android版本,則無法使用。由於XMl的工作方式,它只是忽略稍後添加的標籤(它們在沒有添加它的API級別上沒有意義)。

意思是說,你很可能使用的是一個< 19的API,所以當你試圖訪問應用程序時,它會打開谷歌播放,因爲API不知道如何處理標籤。

+0

我使用minSdk,targetSdk和compileSdk = 25編譯了應用程序,然後在運行平臺v25的手機上運行它,但仍然看到相同的問題。有可能我的手機仍然無視它嗎? – CalumMcCall

+1

正如commonsware提到的那樣,有些設備可能不支持它(由於自定義ROM或者由於根或製造商的操作系統)。 SOme版本可能已將其完全刪除,因此您的手機可能會忽略它。 – Zoe

0

我認爲這將是值得發佈我如何解決這個問題。我在我的應用程序的網站上爲下載頁面的URL創建了一個意圖過濾器。因此,如果他們在Android上打開它,並安裝了我的應用程序,它就會啓動應用程序。否則,用戶會被引導到下載頁面,在那裏他們看到Play商店的鏈接。這並不是我想要的,但對我來說已經足夠接近了。