我有一个工作电子邮件意向。此外,请注意,我完成了之前的所有后台活动,并在按下键时重新启动它们。
我有两个问题
当用户不发送电子邮件并按下"后退"按钮时,我的应用程序会因暂停完成方法而关闭当用户发送电子邮件时,仍然没有打开最后一个活动。
我认为我在启动活动以获取结果时犯了一个错误。是否可以通过意图解决问题并打开以前的活动。(在本例中为Old.class)任何帮助我们都将不胜感激。我的代码
public void onClick(View v) {
// TODO Auto-generated method stub
getdata();
String message = message
;
final Intent emailIntent = new Intent(
android.content.Intent.ACTION_SEND);
emailIntent.setType("plain/text");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,
new String[] { "google@gmail.com" });
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,
"subject");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, message);
startActivityForResult(Intent.createChooser(emailIntent, "Send mail..."),1);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
Intent Act2Intent = new Intent(New.this, Old.class);
startActivity(Act2Intent);
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
finish();
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Intent Act2Intent = new Intent(New.this, Older.class);
startActivity(Act2Intent);
finish();
return true;
}
return false;
}
@Override
public void onStop() {
super.onStop();
EasyTracker.getInstance(this).activityStop(this);
}
您不能finish()
活动onPause()
,因为文档说pause()在stop()之后。如果您在onPause()上完成了(),那么onStop()将根本不起作用。检查android活动生命周期。
所以你可以这样尝试:
@Override
protected void onPause() {
super.onPause();
if(!isActivate)
finish();
}
否则从CCD_ 4移除CCD_ 3。