16

私は Android 用の多くのアプリを作成していますが、基本的に Android マーケットの他のアプリのリストを開くメニュー ボタンをアプリに追加したいと考えています。

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

イアン

4

6 に答える 6

65

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

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

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

于 2011-07-08T16:05:32.340 に答える
23

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

于 2010-08-09T18:19:30.977 に答える
4

インテント アクションはビュー、uri は市場の URL/uri です。

このような:

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://search?q=pub:<developer name>") ) );
于 2011-03-09T11:05:33.300 に答える
3

もう 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 で期待どおりに動作します。

于 2013-06-19T13:44:14.307 に答える
2

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

于 2012-05-21T07:04:15.560 に答える
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);
}
于 2014-05-13T06:05:55.693 に答える