回答:
これにより、メール、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();
}
サポートライブラリの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
&hl
URLにタグを追加するのは簡単ですが、setLangなどのライブラリで使用できるかどうかは気になります。
トーマス、
market://
アプリの詳細ページに直接アクセスできるリンクをユーザーに提供する必要があります。以下はdeveloper.android.comからのものです。
アプリケーションの詳細ページの読み込み
Androidマーケットでは、すべてのアプリケーションに、ユーザーにアプリケーションの概要を提供する詳細ページがあります。たとえば、開発者から提供された場合、ページにはアプリの短い説明と使用中のアプリのスクリーンショット、ユーザーからのフィードバック、開発者に関する情報が含まれます。詳細ページには、ユーザーがアプリケーションのダウンロード/購入をトリガーできる「インストール」ボタンも含まれています。
ユーザーに特定のアプリケーションを紹介する場合、アプリケーションはユーザーをアプリケーションの詳細ページに直接移動できます。これを行うには、アプリケーションから、次の形式のURIとクエリパラメータを含むACTION_VIEWインテントを送信します。
market:// details?id =
この場合、packagenameパラメータは、アプリケーションのマニフェストファイルのmanifest要素のpackage属性で宣言されている、ターゲットアプリケーションの完全修飾パッケージ名です。例えば:
market:// details?id = com.example.android.jetboy
出典:http : //developer.android.com/guide/publishing/publishing.html
このメソッドを呼び出します。
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);
}
より正確に
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);
アプリケーション名とアプリケーション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:"));
タイトルを付けてアプリケーションを共有するのは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)));
}
この質問には回答済みですが、別の解決策を共有したいと思います。
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"));
最後に、このコードは、Androidデバイスから電子メールクライアントを開くために機能します。このスニペットを試してください。
Intent testIntent = new Intent(Intent.ACTION_VIEW);
Uri data = Uri.parse("mailto:?subject=" + "Feedback" + "&body=" + "Write Feedback here....." + "&to=" + "someone@example.com");
testIntent.setData(data);
startActivity(testIntent);
実際にあなたがユーザー間でのアプリせん断し、(firebase)をGoogleに最良の方法は、いくつかのラインを介して新技術Firebaseダイナミックリンクを証明しますが、これはドキュメントでそれを作ることができ https://firebase.google.com/docs/dynamic-links/ とコードです
Uri dynamicLinkUri = dynamicLink.getUri();
Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink()
.setLink(Uri.parse("https://www.google.jo/"))
.setDynamicLinkDomain("rw4r7.app.goo.gl")
.buildShortDynamicLink()
.addOnCompleteListener(this, new OnCompleteListener<ShortDynamicLink>() {
@Override
public void onComplete(@NonNull Task<ShortDynamicLink> task) {
if (task.isSuccessful()) {
// Short link created
Uri shortLink = task.getResult().getShortLink();
Uri flowchartLink = task.getResult().getPreviewLink();
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_TEXT, shortLink.toString());
intent.setType("text/plain");
startActivity(intent);
} else {
// Error
// ...
}
}
});