2013-05-30 54 views
0

想象一下,您在Android應用中註冊了自定義網址處理程序。其他一些應用程序/網頁包含鏈接,該鏈接的網址可以被該處理程序識別,但不幸的是該應用程序尚未安裝在用戶的設備上。應用程序的開發人員是否有任何選擇來提示Google的Play商店通過搜索此URL方案並安裝此特定應用程序來在Play商店中查找您的應用程序,或者用戶基本上因「沒有找到處理此意圖的活動」問題?讓自定義網址在Play商店中回退搜索

+0

你怎麼樣只是讓他們把鏈接到谷歌在其網站Play商店,並認識到URL在您的應用與您URL處理程序?就像它一樣,它會一直到Play商店,但是 - 一旦安裝 - 也會到您的應用程序。 –

+0

人......這就是問題,並非都是市場://自動爲Play商店提供風格的網址?如果是的話,那麼當用戶點擊這樣一個鏈接時,即使該應用程序已經安裝了很長時間,用戶是否會收到這個彈出窗口「你想要打開這個動作」?這看起來有點尷尬嗎? –

+0

好吧,這將是一個額外的,也許有點奇怪的一步,但它最接近你可以得到你想要的。由於您的應用尚未安裝,因此您無法控制該移動設備使用的網址。 –

回答

0

您可以使用PackageManager.resolveActivity()檢查是否安裝了特定的應用程序:

Uri customUri = Uri.parse("mycustomhandler://my.custom.encoded.URI"); 
Intent customIntent = new Intent(Intent.ACTION_VIEW, customUri); 

if (getPackageManager().resolveActivity(customIntent, 0) == null) { 
    // The package is not installed, 
    // implement your logic here 
} 
+0

是的,如果我將擁有其他應用程序,顯示的URL,我不... –

+0

原則上,你不應該擔心如何以及爲什麼其他開發人員的應用程序失敗... – ozbek

+0

原則上不,但事實上應該實現共享功能,並且多個來源(twitter,fb,google +)應該鏈接到應用程序中打開的特定資源。如果安裝了應用程序,這可以正常使用IntentFilter,但如果未安裝該應用程序,則完全沒有。我想我的選擇在這裏非常有限... –