1. ホーム
  2. android

[解決済み] アンドロイド インテントを使用したプレーンテキストの共有(すべてのメッセージングアプリへ)

2022-04-21 19:25:06

質問

インテントを使用してテキストを共有しようとしています。

Intent i = new Intent(android.content.Intent.ACTION_SEND);
i.setType("text/plain");  
i.putExtra(android.content.Intent.EXTRA_TEXT, "TEXT");

とchooserでワープさせる。

startActivity(Intent.createChooser(sms, getResources().getString(R.string.share_using)));

は動作します!ただし、メールアプリのみです。

私が必要とするのは、すべてのメッセージングアプリのための一般的なインテントです:電子メール、SMS、IM(Whatsapp、Viber、Gmail、SMS...)。 を使用してみました。 android.content.Intent.ACTION_VIEW を使ってみたり i.setType("vnd.android-dir/mms-sms"); ということです。

( "vnd.android-dir/mms-sms" SMSのみで共有!)

解決するには?

次のようなコードを使用してください。

    /*Create an ACTION_SEND Intent*/
    Intent intent = new Intent(android.content.Intent.ACTION_SEND);
    /*This will be the actual content you wish you share.*/
    String shareBody = "Here is the share content body";
    /*The type of the content is text, obviously.*/
    intent.setType("text/plain");
    /*Applying information Subject and Body.*/
    intent.putExtra(android.content.Intent.EXTRA_SUBJECT, getString(R.string.share_subject));
    intent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody);
    /*Fire!*/
    startActivity(Intent.createChooser(intent, getString(R.string.share_using)));