在android中使用intent发送短信后不显示Toast

时间:2014-04-04 13:33:57

标签: java android sms toast broadcast

我正在开发短信应用程序。在我的应用程序中,我需要向收件人发送消息,发送短信后应该显示消息和被叫活动我尝试显示消息但我没有成功。我试过没有时间,但它没有显示。我现在感到害怕,任何人都可以告诉我在我的代码中我做错了什么。请解决我的这个问题因为我不能再进一步了。我正在附上完整的源代码。我在等你的回复。

以下是android

中发送消息的代码
Intent smsIntent = new Intent(Intent.ACTION_VIEW);
        smsIntent.setType("vnd.android-dir/mms-sms");
        smsIntent.putExtra("address", "");
        smsIntent.putExtra("sms_body","");
        ///startActivity(smsIntent);
        startActivityForResult(smsIntent,MY_REQ_CODE);

protected void onActivityResult(int requestCode, int resultCode, Intent data)
    {
        // TODO Auto-generated method stub
        //super.onActivityResult(requestCode, resultCode, data);
        if(requestCode==MY_REQ_CODE)
        {
            if(resultCode==RESULT_OK)
            {

                broadcastIntent();
                Toast.makeText(getBaseContext(), "Message Send Successfully", Toast.LENGTH_LONG).show();
            }
        }
        else
        {
            Toast.makeText(getBaseContext(), "Message Send Successfully", Toast.LENGTH_LONG).show();
        }

    }

我的接收器类

public class MyReceiver extends BroadcastReceiver
{

    @Override
    public void onReceive(Context arg0, Intent intent) 
    {
        // TODO Auto-generated method stub
        if(intent.getAction().equalsIgnoreCase("com.example.sms.CUSTOME_INTENT"))
        {
            AlertDialog.Builder alertbox = new AlertDialog.Builder(arg0);
            alertbox.setMessage("Do You want to Save?");
            alertbox.create();
            alertbox.show();
        }


    }

}

我在清单文件中注册了接收器

 <receiver android:name=".MyReceiver">
            <intent-filter><action android:name="com.example.sms.CUSTOME_INTENT"></action></intent-filter>
        </receiver> 

1 个答案:

答案 0 :(得分:1)

试试这种方式,

  runOnUiThread(new Runnable() {

    @Override
    public void run() {
        Toast.makeText(this, message, Toast.LENGTH_LONG).show();
    }
 }