2011-11-04 85 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

相关问题