web-dev-qa-db-ja.com

Androidでアプリケーションの「リンク」を共有します

アプリケーションユーザーが自分のアプリを他のユーザーと共有/推奨できるようにします。 ACTION_SENDインテントを使用します。次の行に沿って何かを言うプレーンテキストを追加します。このクールなアプリケーションをインストールします。しかし、ユーザーがマーケットプレイスのインストール画面に直接アクセスできるようにする方法を見つけることはできません。提供できるのは、Webリンクまたはテキストです。つまり、Androidユーザーがアプリをインストールする非常に直接的な方法を探しています。

ヘルプ/ポインターをありがとう、

トーマス

89
Thomas

これにより、メール、whatsappなどから選択できます。

try { 
    Intent shareIntent = new Intent(Intent.ACTION_SEND);  
    shareIntent.setType("text/plain");
    shareIntent.putExtra(Intent.EXTRA_SUBJECT, "My application name");
    String shareMessage= "\nLet me recommend you this application\n\n";
    shareMessage = shareMessage + "https://play.google.com/store/apps/details?id=" + BuildConfig.APPLICATION_ID +"\n\n";
    shareIntent.putExtra(Intent.EXTRA_TEXT, shareMessage);  
    startActivity(Intent.createChooser(shareIntent, "choose one"));
} catch(Exception e) { 
    //e.toString();
}   
222
Ton

サポートライブラリのShareCompatクラスも使用できます。

ShareCompat.IntentBuilder.from(activity)
    .setType("text/plain")
    .setChooserTitle("Chooser title")
    .setText("http://play.google.com/store/apps/details?id=" + activity.getPackageName())
    .startChooser();

https://developer.Android.com/reference/Android/support/v4/app/ShareCompat.html

23
lukjar

トーマス、

ユーザーにmarket://リンクを提供すると、アプリの詳細ページに直接アクセスできます。以下はdeveloper.Android.comからのものです。

アプリケーションの詳細ページの読み込み

Android Marketには、すべてのアプリケーションにユーザー向けのアプリケーションの概要を提供する詳細ページがあります。たとえば、ページには、アプリの簡単な説明と使用中のアプリのスクリーンショット(開発者から提供された場合)、ユーザーからのフィードバックや開発者に関する情報が含まれます。 [詳細]ページには、ユーザーがアプリケーションのダウンロード/購入をトリガーできる[インストール]ボタンも含まれています。

ユーザーに特定のアプリケーションを紹介したい場合、アプリケーションはユーザーをアプリケーションの詳細ページに直接誘導できます。これを行うために、アプリケーションは、次の形式のURIおよびクエリパラメーターを含むACTION_VIEWインテントを送信します。

market:// details?id =

この場合、packagenameパラメーターは、アプリケーションのマニフェストファイルのmanifest要素のpackage属性で宣言されているように、ターゲットアプリケーションの完全修飾パッケージ名です。例えば:

market:// details?id = com.example.Android.jetboy

ソース: http://developer.Android.com/guide/publishing/publishing.html

20
Will Tate

このメソッドを呼び出します:

public static void shareApp(Context context)
{
    final String appPackageName = context.getPackageName();
    Intent sendIntent = new Intent();
    sendIntent.setAction(Intent.ACTION_SEND);
    sendIntent.putExtra(Intent.EXTRA_TEXT, "Check out the App at: https://play.google.com/store/apps/details?id=" + appPackageName);
    sendIntent.setType("text/plain");
    context.startActivity(sendIntent);
}
10
Nilesh Panchal

より正確に

   Intent intent = new Intent(Intent.ACTION_VIEW);
   intent.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.Android.example"));
   startActivity(intent);

または、開発者から他のアプリを共有する場合。このようなことができるアカウント

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("https://play.google.com/store/apps/developer?id=Your_Publisher_Name"));
startActivity(intent);
9
OWADVL

アプリケーション名とアプリケーションIDを自動的に入力するには、これを使用できます。

int applicationNameId = context.getApplicationInfo().labelRes;
final String appPackageName = context.getPackageName();
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(Intent.EXTRA_SUBJECT, activity.getString(applicationNameId));
String text = "Install this cool application: ";
String link = "https://play.google.com/store/apps/details?id=" + appPackageName;
i.putExtra(Intent.EXTRA_TEXT, text + " " + link);
startActivity(Intent.createChooser(i, "Share link:"));
5
Ben Groot

アプリケーションをタイトルで共有するのはapp_name、コンテンツはアプリケーションのリンクです

private static void shareApp(Context context) {
    final String appPackageName = BuildConfig.APPLICATION_ID;
    final String appName = context.getString(R.string.app_name);
    Intent shareIntent = new Intent(Intent.ACTION_SEND);
    shareIntent.setType("text/plain");
    String shareBodyText = "https://play.google.com/store/apps/details?id=" +
            appPackageName;
    shareIntent.putExtra(Intent.EXTRA_SUBJECT, appName);
    shareIntent.putExtra(Intent.EXTRA_TEXT, shareBodyText);
    context.startActivity(Intent.createChooser(shareIntent, context.getString(R.string
            .share_with)));
}
4
Phan Van Linh

この質問には答えられましたが、別の解決策を共有したいと思います。

Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
String shareSubText = "WhatsApp - The Great Chat App";
String shareBodyText = "https://play.google.com/store/apps/details?id=com.whatsapp&hl=en";
shareIntent.putExtra(Intent.EXTRA_SUBJECT, shareSubText);
shareIntent.putExtra(Intent.EXTRA_TEXT, shareBodyText);
startActivity(Intent.createChooser(shareIntent, "Share With"));
2
Amit Mhaske

最後に、このコードは、Androidのメールクライアントを開くために機能します。このスニペットを試してください。

Intent testIntent = new Intent(Intent.ACTION_VIEW);
                    Uri data = Uri.parse("mailto:?subject=" + "Feedback" + "&body=" + "Write Feedback here....." + "&to=" + "[email protected]");
                    testIntent.setData(data);
                    startActivity(testIntent);
1
Kishan Vasoya