私はAndroid向けに多くのアプリを構築しており、基本的にAndroidマーケットで他のアプリのリストを開くメニューボタンをアプリに入れたいと思っています。
インテントを作成し、Androidマーケットを(私の会社の)検索でポップアップさせて、ユーザーが他のアプリを購入できるようにする方法はありますか?
ian
はい、そのために 文書化されたIntent
構文 があります(http://market.Android.com/search?q=pub:<Developer Name>
またはmarket://search?q=pub:<Developer Name>
)。
「market:// search」の代わりに「market:// details」を使用することをお勧めします:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("market://details?id=com.Android.example"));
startActivity(intent);
次に、アプリの詳細ページを直接開きます。検索では、単一の検索結果が表示され、ユーザーは詳細ページに移動するために追加のクリックを行う必要があります。
意図的なアクションはビューであり、市場のURL/URIをURIします。
このような:
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://search?q=pub:<developer name>") ) );
もう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で期待どおりに機能します
私の実際のデバイスでは、Sony Xperia ProとPocketBookタブレットで、ウェブストアを再生するためのリンクを配置した場合でも、 https://play.google.com/store/apps/details?id=com.estrongs.Android.pop デフォルトのブラウザで開くかPlayマーケットで開くかを尋ねられます。 Playマーケットを選択した場合-アプリケーションは期待どおりに表示されます。 TextViewのAutolinkでテストし、意図的にテストしませんでした。
@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);
}