我有一个计算分数的应用程序,并通过电子邮件发送该分数。一切正常,但电子邮件的正文。代码如下:
XML
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="24dp"
android:onClick="submitScore"
android:text="@string/submit"
android:textColor="#ffffff"/>
在我的MainActivity.java
中,我创建了一个全局变量,我将其更新以编写电子邮件的正文,并使用该分数更新。调用onClick
时,它会组成电子邮件。
int finalScore = 0;
String emailBody = "";
public void grade(View view) {
// bunch of code here
constructMessage(finalScore);
finalScore = 0;
}
public void constructMessage(int score){
emailBody = "Your total score is: " + score;
System.out.println("In ConstructMessage - " + emailBody);
}
public void submitScore(View view){
System.out.println("In submitScore - " + emailBody);
Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setData(Uri.parse("mailto:"));
intent.putExtra(Intent.EXTRA_SUBJECT, "Your score for the Quiz!");
intent.putExtra(Intent.EXTRA_TEXT, "This is a test!");
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
}
Android logcat在两个打印件上显示正确的消息(Your total score is: x
)。
电子邮件主题是正确的,但电子邮件正文是空白的,我不知道为什么。我尝试添加intent.setType("message/rfc822");
,但它没有帮助。
有人有想法吗?
答案 0 :(得分:0)
试试这个,
Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_SUBJECT, subject);
intent.putExtra(Intent.EXTRA_TEXT, content);
intent.setType("text/*");
context.startActivity(Intent.createChooser(intent, "Share using"));