Application内からMarketアプリを呼び出す



「無料版アプリから有料版アプリへのリンクを貼りたい」「Application紹介アプリを作りたい」「ヘルプ用にMarketの詳細画面を使いたい」
など、AndroidMarketの画面をアプリケーション内で呼び出したいケースが開発中に出てくるかと思います。
そこで今回は、作成したApplication内から、Marketアプリを呼び出す方法を紹介します。
単にMarketアプリを呼び出すのではなく、

  • Marketでの任意Word検索結果を呼び出す
  • 開発者での検索結果を呼び出す
  • 指定したアプリケーションの詳細画面を呼び出す

これらについて紹介していきたいと思います。

また、本記事の内容について、要領よく理解する為に以下記事を参考にどうぞ。

Marketでの任意Word検索結果を呼び出す

ACTION_VIEWで以下URIを呼び出す事で、上画面を呼び出すことが出来ます。

        Uri uri = Uri.parse("market://search?q=GoodMorningTweet");

        Intent intent = new Intent(Intent.ACTION_VIEW,uri);
        startActivity(intent);

GoodMorningTweetというアプリケーションを検索したい場合、上記ソースコードの様になります。
market://search?q=をURIに指定します。

開発者での検索結果を呼び出す

同じく、ACTION_VIEWで以下URIを指定することで、開発者の検索結果を出力することが出来ます。

        Uri uri = Uri.parse("market://search?q=pub:seit");

開発者名で検索結果を出力する為には、 search?q=pub:を指定する事が必要です。

指定したアプリケーションの詳細画面を呼び出す

同じく、ACTION_VIEWで以下URIを指定することで、アプリケーション詳細画面出力することが出来ます。

        Uri uri = Uri.parse("market://details?id=com.udg.goodmorning.tweet");

検索の際と異なり、 details?id=になっていることに注意してください。
詳細アプリケーションの指定は、アプリケーションのパッケージ名で行います。
アプリケーションのパッケージ名とは、AndroidManifestのPackage属性に記述されているものです。

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
	package="com.udg.goodmorning.tweet"
	android:versionCode="1"
	android:versionName="1.0">
	<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
	<application android:icon="@drawable/gmticon"
        ....

※自分で作成したアプリケーション以外のパッケージ名の取得には「インストール済みパッケージを取得する」を参考下さい。

このエントリの内容は、“market://”“http://market.android.com/”に置き換えても使えるんだ。そう!例えば、“http://market.android.com/details?id=com.udg.goodmorning.tweet”みたいにね。ユーザーにリンクをコピーさせる時とか、ブログに書くときとかには、”http://”バージョンを使うと親切だよねっ