题
我建立面向Android和愿望许多应用程序能够在同一基本上我打开Android Market中其他应用程序的列表中的应用程序菜单按钮。
有没有一种方法来创建一个意图,并使用Android Market弹出与(我公司)在市场上的搜索,使用户可以购买其他的应用程序?
伊恩
解决方案
是,有一个记录Intent
语法为(http://market.android.com/search?q=pub:<Developer Name>
或market://search?q=pub:<Developer Name>
)。
其他提示
更妙的是用 “市场://详细信息”,而不是 “市场://搜索”:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("market://details?id=com.android.example"));
startActivity(intent);
然后,它会直接打开该应用程序的详细信息页面。与搜索它显示一个搜索结果和用户所要做的另一次点击才能到详细信息页面。
意图行动将是图,并且URI中的市场URL / URI。
像这样:
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://search?q=pub:<developer name>") ) );
另一种方法是启动与在其应用程序的包名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预期
在我的真机索尼XPERIA Pro和袖珍平板电脑,甚至当你把一个链接到游戏的网上商店例如 https://play.google.com/store/apps /details?id=com.estrongs.android.pop 它会问,如果你想在默认浏览器或播放市场将其打开。 如果您选择播放市场 - 显示应用程序如预期。 没有意图,与自动链接从测试的TextView测试它。
@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);
}
不隶属于 StackOverflow