最新のアプリに他のアプリのリンクがあり、その方法でそれらを開きます。
Uri uri = Uri.parse("url");
Intent intent = new Intent (Intent.ACTION_VIEW, uri);
startActivity(intent);
このコードは、ブラウザバージョンのGoogle Playストアを開きます。
携帯電話から開こうとすると、ブラウザまたはGoogle Playを使用するかどうかを確認するメッセージが表示され、2つ目の携帯電話を選択すると、Google Playストアのモバイルバージョンが開きます。
これがどのように一度に起こるのか教えてもらえますか?聞かずに、モバイル版のGoogle Playを直接開きます。これは、電話から直接開いたときに表示されるものです。
指定されたmarket
プロトコルを使用する必要があります。
final String appPackageName = "com.example"; // Can also use getPackageName(), as below
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
これは、Marketがインストールされていないデバイス(エミュレーターなど)でクラッシュします。したがって、次のようなものを提案します。
final String appPackageName = getPackageName(); // getPackageName() from Context or Activity object
try {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
} catch (Android.content.ActivityNotFoundException anfe) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id=" + appPackageName)));
}
一貫性のためにContext
またはそのサブクラスから getPackageName()
を使用している間(ありがとう @ cprcrack !)。マーケットインテントの詳細については、リンクをご覧ください。
以下のコードは、モバイル版のGoogle Playの痛みのアプリケーションリンクを表示するのに役立ちます。
アプリケーションリンクの場合:
Uri uri = Uri.parse("market://details?id=" + mContext.getPackageName());
Intent myAppLinkToMarket = new Intent(Intent.ACTION_VIEW, uri);
try {
startActivity(myAppLinkToMarket);
} catch (ActivityNotFoundException e) {
//the device hasn't installed Google Play
Toast.makeText(Setting.this, "You don't have Google Play installed", Toast.LENGTH_LONG).show();
}
開発者リンクの場合:
Uri uri = Uri.parse("market://search?q=pub:" + YourDeveloperName);
Intent myAppLinkToMarket = new Intent(Intent.ACTION_VIEW, uri);
try {
startActivity(myAppLinkToMarket);
} catch (ActivityNotFoundException e) {
//the device hasn't installed Google Play
Toast.makeText(Settings.this, "You don't have Google Play installed", Toast.LENGTH_LONG).show();
}
Android Intents ライブラリを使用して、Google Playでアプリケーションページを開くことができます。
Intent intent = IntentUtils.openPlayStore(getApplicationContext());
startActivity(intent);
Google Play Storeアプリがインストールされているかどうかを確認できます。インストールされている場合は、"market://"プロトコルを使用できます。
final String my_package_name = "........." // <- HERE YOUR PACKAGE NAME!!
String url = "";
try {
//Check whether Google Play Store is installed or not:
this.getPackageManager().getPackageInfo("com.Android.vending", 0);
url = "market://details?id=" + my_package_name;
} catch ( final Exception e ) {
url = "https://play.google.com/store/apps/details?id=" + my_package_name;
}
//Open the app page in Google Play Store:
final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
startActivity(intent);
Google Playでアプリページを開く:
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse("market://details?id=" + context.getPackageName()));
startActivity(intent);