2012-08-22 88 views

回答

1

你是在自己的應用程序中自己做下載,還是試圖在外部應用程序中創建一些行爲?

我不認爲你會在你的應用程序下載時觸發​​行爲(因爲用戶必須選擇下載的文件才能打開它),但是如果你自己處理下載,我想你需要this發佈關於如何以編程方式安裝應用程序。

編輯:解決你的評論,你說你正在編寫一個網站,並希望能夠強制APK被本機應用程序打開:我可以想辦法做類似的事情,但你將不得不在原生應用程序中處理下載,因爲你不會讓瀏覽器爲你做下載。

您需要註冊您的原生應用程序才能以您選擇的任何格式接收ACTION_VIEWIntent s的URI;我推薦使用類似yourappname://localhost/escaped_download_url_to.apk的東西。在您的Activity中獲取來自Intent中URI的路徑並獲取它的最後部分(URI處理分解爲幾個組件:協議,主機和路徑)。根據需要將它縮小,然後在應用程序中手動開始下載,然後完成後,使用我提供的鏈接從應用程序放置的任何位置打開已下載的APK。

只要你確定你的手機網站提供了hrefyourappname://localhost/escaped_download_url_to.apk,你就可以觸發這種行爲。當用戶點擊該鏈接時,它應該提供一個對話框來選擇使用哪個應用程序打開它(如果他們有多個應用程序能夠這樣做),當他們選擇您的應用程序時,將啓動您在Intent註冊的Activity過濾。

編輯第二個:你可能不需要做任何轉義的URI;只要你自己的帖子中建議使用制定的URI協議就可以工作,只要你的應用程序註冊以接收該協議的Intents即可。 yourappname://yourserver.com/my/location.apk將工作。所有真正重要的是能夠將下載URL從您在URI中提供給應用程序的數據中提取出來。

+0

我看到了你提到的帖子。但我正嘗試在移動網站上創建一個原生應用的下載鏈接,並立即打開/安裝該文件。 –

+0

看到我編輯的答案。 –

相關問題