电子邮件意图成功发送或keydown方法

时间:2013-12-05 12:11:43

标签: android email android-intent

我有一个有效的电子邮件意图。请注意,我完成了之前的所有后退活动,并在按键时重新启动它们。

我有两个问题

当用户不发送电子邮件并按回按钮我的应用程序关闭暂停完成方法的becoz 当用户发送电子邮件时,最后一次活动没有打开。

我认为我在开始时对结果犯了错误。是否有可能通过意图解决问题和打开以前的活动。 (在本例中为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);
    }

1 个答案:

答案 0 :(得分:0)

您不能finish()活动onPause(),因为documentation表示在stop()之后出现pause()。如果你在onPause()上完成()那么onStop()根本不会工作。检查android activity life-cycle

所以你可以尝试这样:

@Override
protected void onPause() {
    super.onPause();
if(!isActivate)
    finish();
}

finish();删除onPause(){}