2011-11-04 81 views
0

我正在製作地圖應用程序。搜索Android市場的應用程序,但只返回鏈接到應用程序

我希望用戶在我的應用程序中看到X,然後能夠進入市場,搜索與X相關的應用程序,並將該應用程序的鏈接添加到X,以便其他用戶可以找到這個應用程序,當他們看X.

例如,有人在地圖上發現一個特定的銀行品牌,他們知道有一個該銀行的應用程序。我希望他們能夠進入市場,找到銀行應用程序(編輯:在用戶獲得我的應用程序之前我不知道甚至存在),然後將該應用程序的鏈接添加到地圖上的POI,以便其他人可以瞭解應用程序。

我遇到麻煩的部分是,市場應用程序返回什麼?我可以得到它返回這樣的鏈接或部分鏈接?在我看來最難的部分是,當用戶選擇一個應用程序時,它會安裝它。我不認爲它甚至設置爲可能返回鏈接,但我無法找到有關它返回的信息。

回答

1

看看在Android market API project

這個庫讓你索要信息直接谷歌官方Android Market的服務器,搜索應用

MarketSession session = new MarketSession(); 
session.login(email, password); 
session.getContext.setAndroidId(myAndroidId); 
String query = "HSBC"; 
AppsRequest appsRequest = AppsRequest.newBuilder() 
           .setQuery(query) 
           .setStartIndex(0).setEntriesCount(10) 
           .setWithExtendedInfo(true) 
           .build(); 

session.append(appsRequest, new Callback<AppsResponse>() { 
     @Override 
     public void onResult(ResponseContext context, AppsResponse response) { 
        // Your code here 
        // response.getApp(0).getCreator() ... 
     } 
}); 
session.flush(); 
+0

有趣,我會檢查出來。我會留下選擇這個答案一段時間,以防其他建議,但目前看起來不錯。 – AlbeyAmakiir

+0

沒問題,我也有興趣在其他選項,如果有的話。希望這能爲你解決。 – Reno

+0

你好裏諾,我粘貼該代碼,幷包括一個lib文件(androidmarketapi-0.6.jar)。 它表示我誤差上 AppsRequest appsRequest = AppsRequest.newBuilder()setQuery(查詢)\t .setStartIndex(0).setEntriesCount(10).setWithExtendedInfo(真)\t \t \t \t .build(); 錯誤是:com.google.protobuf.GeneratedMessage $ Builder類型無法解析。它是從所需的.class文件間接引用的。 我曾嘗試多次添加和刪除lib文件。 在此先感謝。 –

0

如果您知道應用程序的名稱,你可以創建一個意圖如下解釋: Linking to Your Apps on Android Market

例如: 如果用戶在地圖上選擇麥當勞,他們可以按下一個按鈕來搜索應用與名稱相匹配。在這種情況下,你會做到以下幾點:

Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setData(Uri.parse("market://search?q=McDonalds")); 
startActivity(intent); 

這應該打開市場高達本土市場大約these results。從那裏,用戶可以選擇適當的應用程序。

+0

不,我不知道應用的名稱。重點是讓用戶決定。 – AlbeyAmakiir

+0

修改爲包含示例。用戶將被帶到市場上,自動搜索給定的期限。用戶然後可以從匹配列表中進行選擇。 – ImR

相關問題