ACTION_SENDTO发送电子邮件

当在Android 2.1中执行以下代码片段时,我正在体验“此操作不被当前支持”错误条件。 这段代码有什么问题?

public void onClick(View v) { Intent intent = new Intent(Intent.ACTION_SENDTO); Uri uri = Uri.parse("mailto:myemail@gmail.com"); intent.setData(uri); intent.putExtra("subject", "my subject"); intent.putExtra("body", "my message"); startActivity(intent); } 

  • android如何比较挂起的意图
  • Android通知PendingIntent附加null
  • android:拍照相机没有“保存”/“删除”确认
  • 在Unity应用程序启动时阅读Android意图附加数据
  • 意图在android上启动时钟应用程序
  • 删除图像文件后刷新图库?
  • 意向服务永远不会被调用
  • 是否有意图为所有用户卸载应用程序?
  • 如果使用ACTION_SENDTO ,则putExtra()无法将主题和文本添加到意图。 使用setData()Uri工具添加主题和文本。

    这个例子适用于我:

     // ACTION_SENDTO filters for email apps (discard bluetooth and others) String uriText = "mailto:youremail@gmail.com" + "?subject=" + Uri.encode("some subject text here") + "&body=" + Uri.encode("some text here"); Uri uri = Uri.parse(uriText); Intent sendIntent = new Intent(Intent.ACTION_SENDTO); sendIntent.setData(uri); startActivity(Intent.createChooser(sendIntent, "Send email")); 

    其实我find了一个EXTRAs的工作方式。 这是我在这里find的有关ACTION_SENDTO的答案的组合

    http://www.coderanch.com/t/520651/Android/Mobile/no-application-perform-action-when

    和我在这里find的HTML的东西:

    如何发送HTML电子邮件 (但在这个HTML文章中如何使用ACTION_SENDTO的变种不适用于我 – 我得到了你所看到的“不支持的行动”)

      // works with blank mailId - user will have to fill in To: field String mailId=""; // or can work with pre-filled-in To: field // String mailId="yourmail@gmail.com"; Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto",mailId, null)); emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject text here"); // you can use simple text like this // emailIntent.putExtra(android.content.Intent.EXTRA_TEXT,"Body text here"); // or get fancy with HTML like this emailIntent.putExtra( Intent.EXTRA_TEXT, Html.fromHtml(new StringBuilder() .append("<p><b>Some Content</b></p>") .append("<a>http://www.google.com</a>") .append("<small><p>More content</p></small>") .toString()) ); startActivity(Intent.createChooser(emailIntent, "Send email...")); 

    你可以尝试这一个

      Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts( "mailto", emailID, null)); emailIntent.putExtra(Intent.EXTRA_SUBJECT, Subject); emailIntent.putExtra(Intent.EXTRA_TEXT, Text); startActivity(Intent.createChooser(emailIntent, Choosertitle); 

    这个对我有用