2014-01-11 31 views
6

在我的Android應用程序中,我有一個帶有Amazon.com產品背景圖像(讓我們說是襯衫或其他東西)的按鈕,點擊時我會喜歡它在亞馬遜應用程序(com.amazon.mShop.android)中打開,如果已經安裝,而不是在瀏覽器中,並且在瀏覽器中(如果未安裝該應用程序)。Android意圖在設備上而不是瀏覽器上使用亞馬遜應用程序查看項目

我已經能夠找到如何將深度鏈接添加到特定的亞馬遜客戶端應用程序,但不知道如何鏈接到將打開與亞馬遜應用程序打開的特定項目。

目前,我的點擊監聽器,瀏覽器通過執行以下操作打開:

b3.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Intent intent = new Intent(); 
      intent.setAction(Intent.ACTION_VIEW); 
      intent.addCategory(Intent.CATEGORY_BROWSABLE); 
      intent.setData(Uri.parse(urlOfItemOnAmazonSite)); 
      startActivity(intent); 
     } 
    }) 

回答

3

亞馬遜開發者的主頁可能是這個答案的最佳場所。這可能是一個好的開始:https://developer.amazon.com/public/apis/earn/in-app-purchasing/docs/deeplink#Link%20Configuration。在這裏他們解釋瞭如何構建您需要用來設置Intent數據的Uri

當然,你可能要小心在一個try/catch的情況下,未安裝亞馬遜包裹startActivity和它拋出一個ActivityNotFoundException

+1

這是我發現的,但我敢肯定那是何等搜索亞馬遜Appstore或鏈接到特定的應用程序,更正?所以在他們的例子中,http://www.amazon.com/gp/mas/dl/android?asin=B004FRX0MY直接鏈接到MP3應用程序來購買它。相反,我想設置意圖數據以將襯衫的信息傳遞給與Appstore分開的亞馬遜購物應用程序。 –

+0

是的,這是AppStore。那麼,你也可以使用Intent.setPackage()將它設置爲「com.amazon.mShop.android」,但是你仍然要小心,該包有一些可以處理你的Intent的IntentFilter, – anddev84

+0

根據這個鏈接:這不僅僅是使用ASIN ID的其他應用程序。 https://developer.amazon.com/public/apis/earn/mobile-associates/docs/direct-linking-implementation#Direct%20to%20Amazon%20Product%20Detail%20Page。例如,使用amazon.com/gp/mas/dl/android?asin=B008GGCAVM可讓您購買Kindle Fire。 – anddev84

相關問題