android:将sms切换到默认应用程序

时间:2010-01-07 12:50:41

标签: android

请指导,在Android中如何将我的字符串(少于160个字符)传递给默认的内置SMS应用程序或队列,这将完成此过程。

我的意思是,从我的活动中我想调用一个内置的SMS应用程序并将我的短信字符串传递给它,然后内置的应用程序将负责其他活动,如短信重发等。

3 个答案:

答案 0 :(得分:7)

使用短信正文和电话号码拨打默认短信应用程序:

Intent intent = new Intent( Intent.ACTION_VIEW, Uri.parse( "sms:" + phoneNumber ) );
intent.putExtra( "sms_body", smsBody );
context.startActivity( intent );

默认我指的是用户选择的应用程序。实际上,启动默认短信应用程序比内置更好,因为您必须尊重用户选择。如果设备所有者选择ChompSms作为默认的SMS应用程序,他会更喜欢你的应用程序启动ChompSms而不是其他。

答案 1 :(得分:4)

使用短信正文和电话号码呼叫默认的短信应用程序:

Uri uri = Uri.parse("smsto:123456789");   
    Intent it = new Intent(Intent.ACTION_SENDTO, uri);   
    it.putExtra("sms_body", "The Hello How R U...");   
    startActivity(it); 

答案 2 :(得分:3)

超越托马斯的回答,您可以使用ACTION_SEND and createChooser()允许用户选择用于发送消息的应用程序,无论是内置的SMS应用程序还是第三方SMS应用程序或电子邮件,或者GMail或Twidroid等等。

您也可以使用SmsManager自行发送短信,但不会弹出任何内置活动。

幸运的是,文档中有一个地方涵盖了Thomas的答案(在StackOverflow页面的其他地方),因为这是您请求的最简单的解决方案。