web-dev-qa-db-ja.com

Android別のアプリ内からマーケットへのリンク

私はAndroid向けに多くのアプリを構築しており、基本的にAndroidマーケットで他のアプリのリストを開くメニューボタンをアプリに入れたいと思っています。

インテントを作成し、Androidマーケットを(私の会社の)検索でポップアップさせて、ユーザーが他のアプリを購入できるようにする方法はありますか?

ian

16
Ian Vink

はい、そのために 文書化されたIntent構文 があります(http://market.Android.com/search?q=pub:<Developer Name>またはmarket://search?q=pub:<Developer Name>)。

23
CommonsWare

「market:// search」の代わりに「market:// details」を使用することをお勧めします:

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

次に、アプリの詳細ページを直接開きます。検索では、単一の検索結果が表示され、ユーザーは詳細ページに移動するために追加のクリックを行う必要があります。

65
uwe

意図的なアクションはビューであり、市場のURL/URIをURIします。

このような:

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

もう1つの方法は、アプリケーションのパッケージ名を含む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で期待どおりに機能します

3
Kapil Jituri

私の実際のデバイスでは、Sony Xperia ProとPocketBookタブレットで、ウェブストアを再生するためのリンクを配置した場合でも、 https://play.google.com/store/apps/details?id=com.estrongs.Android.pop デフォルトのブラウザで開くかPlayマーケットで開くかを尋ねられます。 Playマーケットを選択した場合-アプリケーションは期待どおりに表示されます。 TextViewのAutolinkでテストし、意図的にテストしませんでした。

2
@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);
}
0
The Java Guy