Android内部链接从另一个应用程序

时间:2010-08-09 17:04:14

标签: android google-play

我正在为Android构建许多应用程序,并希望在应用程序中有一个菜单按钮,基本上会在Android电子市场中打开我的其他应用程序列表。

有没有办法创建一个意图,让Android市场在市场上搜索(我的公司),以便用户可以购买其他应用程序?

伊恩

6 个答案:

答案 0 :(得分:65)

更好地使用“market:// details”而不是“market:// search”:

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("market://details?id=com.android.example"));
startActivity(intent);

然后直接打开应用程序的详细信息页面。使用搜索,它会显示单个搜索结果,用户必须再单击一次才能进入详细信息页面。

答案 1 :(得分:23)

是的,有documented Intent syntaxhttp://market.android.com/search?q=pub:<Developer Name>market://search?q=pub:<Developer Name>)。

答案 2 :(得分:4)

意图行动将是视图,并且市场网址/ uri。

像这样:

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://search?q=pub:<developer name>") ) );

答案 3 :(得分:3)

另一种方法是使用您的应用程序包名称启动URL Intent。 用户将弹出已安装浏览器 + Play商店应用的列表,在该应用中,他可以查看您的目标应用。

String appPackageName = "com.example.android";
String url = "https://play.google.com/store/apps/details?id=" + appPackageName;
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
startActivity(intent);

以上代码经过测试,并在Play商店版本4.1.6上按预期工作

答案 4 :(得分:2)

在我的真实设备上索尼Xperia Pro和PocketBook平板电脑,即使您放置链接来播放网上商店,例如https://play.google.com/store/apps/details?id=com.estrongs.android.pop 它会询问您是要在默认浏览器中还是在Play市场中打开它。 如果您选择Play市场 - 应用程序将按预期显示。 没有用意图测试它,用TextView的Autolink测试。

答案 5 :(得分:0)

@Override
public boolean onOptionsItemSelected(MenuItem item) {
     switch(item.getItemId()) {
         case R.id.adfree:
             final String appPackageName = "com.zooohooo.noads"; // Can also use getPackageName(), as below
             startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
             return true;
         case R.id.rate:
             startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + getPackageName())));
             return true;
     }
     return super.onOptionsItemSelected(item);
}