好的我正在尝试取一个字符串并将其放入intent部分,以便我可以让应用程序发送电子邮件。我不能为我的生活弄清楚如何做到这一点。注意:我是java / android编程的新手。我知道这会为用户提供一个选项,让他们选择要发送的内容。我真的想要应用程序发送电子邮件并给他们一个确认,但不知道是否可能。
这是我的main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/welcome" />
<EditText
android:id="@+id/EditTextName"
android:layout_height="wrap_content"
android:hint="@string/name"
android:inputType="textPersonName"
android:layout_width="fill_parent">
</EditText>
<EditText
android:id="@+id/EditTextEmail"
android:layout_height="wrap_content"
android:hint="@string/email"
android:inputType="textEmailAddress"
android:layout_width="fill_parent">
</EditText>
<Spinner
android:id="@+id/SpinnerStatus"
android:layout_height="wrap_content"
android:prompt="@string/status"
android:layout_width="fill_parent"
android:entries="@array/statuslist">
</Spinner>
<EditText
android:id="@+id/EditTextChangeBody"
android:layout_height="wrap_content"
android:hint="@string/changebody"
android:inputType="textMultiLine"
android:lines="5"
android:layout_width="fill_parent">
</EditText>
<Button
android:id="@+id/ButtonSendChange"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="sendChange"
android:text="@string/changebutton">
</Button>
</LinearLayout>
这是我的MadisonStudios.java
package com.madisonstudios.supportapp;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Spinner;
public class MadisonStudios extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void sendChange(View button) {
final EditText nameField = (EditText) findViewById(R.id.EditTextName);
String name = nameField.getText().toString();
final EditText emailField = (EditText) findViewById(R.id.EditTextEmail);
String email = emailField.getText().toString();
final EditText feedbackField = (EditText) findViewById(R.id.EditTextChangeBody);
String changes = feedbackField.getText().toString();
final Spinner feedbackSpinner = (Spinner) findViewById(R.id.SpinnerStatus);
String status = feedbackSpinner.getSelectedItem().toString();
Intent it = new Intent(Intent.ACTION_SEND);
String[] tos = {getString(R.string.email)};
it.putExtra(Intent.EXTRA_EMAIL, tos);
it.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.emailSubject));
it.setType("text/plain");
startActivity(it);
}
}
答案 0 :(得分:2)
您可以从getString()
或其子类context
访问activity
,
获取您需要执行以下操作的字符串
activity.getString(R.string.xyz)
您可以将字符串传递给另一个活动,如下面的代码所示。
final Intent activityIntent = new Intent(
activity.getApplicationContext(), CurrentActivity.class);
activityIntent .putExtra("ID",
item.ID);
activityIntent .putExtra("NAME",
item.name);
activity.startActivity(activityIntent);
您可以使用以下代码发送电子邮件
public static void sendEmail(final Activity activity,final String email) {
/* Create the Intent */
final Intent emailIntent = new Intent(
android.content.Intent.ACTION_SEND);
/* Fill it with Data */
emailIntent.setType("plain/text");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,
new String[] {email });
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,
"Feedback");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "");
/* Send it off to the Activity-Chooser */
activity.startActivity(Intent.createChooser(emailIntent,
"Send feedback"));
}