Android:发送短信后显示Toast

时间:2014-01-15 22:07:41

标签: android

我想在按下发送按钮后弹出一些文字。 现在,我已经找到了在使用其他方法时这样做的方法,但这是一个学校作业,所以我想保持简单并与当前水平保持一致。

这就是我所拥有的:

public void onClick(View arg0) {

    if(arg0.equals(sms)) {
        Intent c = new Intent(Intent.ACTION_VIEW);
        Uri pho = Uri.parse("smsto:" +text.getText().toString());
        c.setData(pho);
        c.putExtra("sms_body", "Text");
        startActivity(c);

我添加了一行:

Toast.makeText(this, "SMS sent", Toast.LENGTH_LONG).show();

这会使Toast立即显示,然后再按下发送按钮。

使用我当前的代码发送后有没有办法让它出现?

2 个答案:

答案 0 :(得分:1)

您可以使用广播接收器检查是否已发送消息或接收传入消息,并且在您发送消息后,接收方会侦听操作,您可以实施Toast显示操作

这里有一个示例向您展示了制作它的步骤

http://www.vineetdhanawat.com/blog/2012/04/how-to-use-broadcast-receiver-in-android-send-and-receive-sms/

答案 1 :(得分:0)

    registerReceiver(new BroadcastReceiver() {
        public void onReceive(Context arg0, Intent arg1) {
            switch (getResultCode()) {
            case Activity.RESULT_OK:

                   //code is here

                break;
            case SmsManager.RESULT_ERROR_GENERIC_FAILURE:

                break;
            case SmsManager.RESULT_ERROR_NO_SERVICE:

                break;
            case SmsManager.RESULT_ERROR_NULL_PDU:

                break;
            case SmsManager.RESULT_ERROR_RADIO_OFF:

                break;
            }
        }
    }, new IntentFilter(SENT));

我想这就是你想要的。