【发布时间】:2016-03-09 15:10:04
【问题描述】:
我试图让我的应用程序向电子邮件发送新密码,但它会打开一个页面并给出消息“没有应用程序可以执行此操作”,标题为“发送电子邮件”(我知道), 为什么?使用新密码的想法是我想要的,但首先我想将任何内容发送到编辑文本中键入的电子邮件以对其进行测试。我试过在真机上运行它。
public class Glemtpassword extends AppCompatActivity implements View.OnClickListener{
Button nypassword;
EditText email;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_glemtpassword);
nypassword = (Button) findViewById(R.id.nypassword);
nypassword.setOnClickListener(this);
email = (EditText) findViewById(R.id.email);
}
@Override
public void onClick(View view) {
if (view == nypassword){
sendEmail();
}
}
protected void sendEmail() {
Log.i("Send email", "");
Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.putExtra(Intent.EXTRA_EMAIL, String.valueOf(email));
try {
startActivity(Intent.createChooser(emailIntent, "Send mail..."));
finish();
Log.i("Nyt password er sendt til din mail...", "");
}
catch (android.content.ActivityNotFoundException ex) {
Toast.makeText(Glemtpassword.this, "Ingen email klient", Toast.LENGTH_SHORT).show();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.Forside) {
Intent intent = new Intent(this, Forside.class);
startActivity(intent);
}
else if (id == R.id.Logind){
Intent intent = new Intent(this, LogInd.class);
startActivity(intent);
}
else if (id==R.id.Opretbruger) {
Intent intent = new Intent(this, OpretBruger.class);
startActivity(intent);
}
return true;
}
}
编辑:
public class Glemtpassword extends AppCompatActivity implements View.OnClickListener{
Button nypassword;
EditText email;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_glemtpassword);
nypassword = (Button) findViewById(R.id.nypassword);
nypassword.setOnClickListener(this);
email = (EditText) findViewById(R.id.email);
}
@Override
public void onClick(View view) {
if (view == nypassword){
sendEmail();
}
}
protected void sendEmail() {
Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(
"mailto", email.getText().toString(), null));
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
emailIntent.putExtra(Intent.EXTRA_TEXT, "Body");
startActivity(Intent.createChooser(emailIntent, "Send email..."));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.Forside) {
Intent intent = new Intent(this, Forside.class);
startActivity(intent);
}
else if (id == R.id.Logind){
Intent intent = new Intent(this, LogInd.class);
startActivity(intent);
}
else if (id==R.id.Opretbruger) {
Intent intent = new Intent(this, OpretBruger.class);
startActivity(intent);
}
return true;
}
}
【问题讨论】: