2

Facebook、Twitter、または電子メールへの HTML リンクを共有しようとしています。ここに私がこれまでに持っているものがありますが、2つのことがうまくいきません。

Intent shareIntent = new Intent(Intent.ACTION_SEND);

shareIntent.setType("text/html");
shareIntent.putExtra(Intent.EXTRA_TEXT, "<!DOCTYPE html><html><body>" + htmlUrl + "</body></html>");

startActivity(Intent.createChooser(shareIntent, "Share!"));

どこhtmlUrl = "<a href=\"http://{url}/?q=" + queryString.substring(0, queryString.length() - 1) + "\" >Text to url! </a>"

最初に、これはリストに電子メール アプリケーションのみを表示します。

次に、HTML アイテムとしてではなく、電子メール内に全文として表示されます。

ありがとう、ディーマン

4

4 に答える 4

2

MIMEタイプが間違っています。代わりにこれを使用してください:

shareIntent.setType("text/plain");

本格的なHTMLではなく、リンクを共有したいだけの場合は、Intent.EXTRA_TEXT値としてURLを使用してください。

shareIntent.putExtra( Intent.EXTRA_TEXT, url );

HTMLの共有をサポートしているアプリはごくわずか(GMail、Bluetooth、Dropboxなど)であることに注意してください。プレーンテキストを使用して、より多くのアプリがIntent

于 2012-10-16T15:18:57.747 に答える
1

コードの小さな変更を見逃すだけです -Html.fromHtml文字列を HTML としてエンコードするために使用します。

より詳細な例は、次のリンクにあります: http://blog.iangclifton.com/2010/05/17/sending-html-email-with-android-intent/

ACTION_SENDFacebook アプリはサポートしていないため、Facebook で共有することはできませんtext/htmlが、Gmail アプリを使用して HTML コンテンツを共有することはできます。

于 2013-01-30T06:24:01.607 に答える
1

Facebook で共有 (この方法を使用すると、リンクのみを共有できます)

Intent facebookIntent = new Intent(Intent.ACTION_SEND);
facebookIntent.setType("text/plain");
facebookIntent.setPackage("com.facebook.katana");
facebookIntent.putExtra(Intent.EXTRA_TEXT, shareUrl);
startActivity(facebookIntent);

電子メールで共有 (この方法を使用すると、電子メールの内容を html 形式に変更できますが、デフォルトの電子メール クライアントでは機能しません。gmail クライアントでは機能します。)

    Intent intent = new Intent(Intent.ACTION_SEND);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.putExtra(Intent.EXTRA_SUBJECT, shareTitle);
    intent.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(content of your email));
    intent.setType("message/rfc822");
    startActivity(Intent.createChooser(intent, "Share to Email..."));

Twitter で共有

    Intent intent = new Intent(Intent.ACTION_SEND);
    intent.putExtra(Intent.EXTRA_TEXT, your content);
    intent.setType("application/twitter");
    startActivity(intent);

お役に立てれば。

于 2013-08-20T04:43:01.237 に答える
0

これ

shareIntent.setType("text/html");

htmlの部分で行う必要があります。メールだけがわからないのはなぜですか。共有インテントを処理するためにFacebookやTwitterなどの他のアプリをインストールしていますか?

于 2012-10-16T15:19:02.810 に答える