0

メール送信成功時は「Message Sent」、失敗時は「Message Not Sent」で乾杯したい

どうやって... ありがとう

class RetreiveFeedTask extends AsyncTask<String, Void, String> {

    protected String doInBackground(String... urls) {
        try {

            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress("example@gmail.com"));
            message.setRecipients(Message.RecipientType.TO,
                    InternetAddress.parse(recpient));
            message.setSubject(subject);
            message.setReplyTo(InternetAddress
                    .parse("example@gmail.com"));
            message.setContent(
                    textmessage,
                    "text/html; charset=utf-8");

            Transport.send(message);

        } catch (MessagingException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    protected void onPostExecute(String feed) {
        pdialog.dismiss();
        reciept.setText("");
        msg.setText("");
        sub.setText("");
        Toast.makeText(getApplicationContext(), "Message sent",
                Toast.LENGTH_LONG).show();

    }
}
4

2 に答える 2

0

Stringで返すのはdoInBackground、で取得するパラメータですonPostExecute

nullすべてがうまくいったとき、そしてe.getMessage()何かが起こったときに戻ることができExceptionます。次に、 である場合はonPostExecute確認トーストを表示するか、エラーがそうでない場合は表示します。feednull

于 2013-09-29T10:16:12.023 に答える
0

ハンドラーを作成する

private Handler handler = new Handler() {
    @Override
    public void handleMessage(Message msg)
    {
        Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
    }
};

と変数private String message = "" And でdoInBackgroundそれに応じてその値を変更します。つまり、トーストを表示したいときはいつでもmessage="Mail Sent";ormessage="Mail Not Sent";を呼び出しますhandler.sendEmptyMessage(0);

于 2013-09-29T11:05:19.157 に答える