sendBroadscast VS startActivity。有什么不同?

时间:2013-01-06 16:35:35

标签: android

sendBroadcast(intent)与startActivity(intent)之间的区别是什么。

为什么这不起作用:

Intent smsIntent = new Intent(Intent.ACTION_SENDTO);
smsIntent.setData( Uri.parse( "sms:0533"));
smsIntent.putExtra("sms_body", "The SMS text");
sendBroadcast(smsIntent);

1 个答案:

答案 0 :(得分:2)

sendBroadCast()发送一个全局广播,由设置为接收该广播的任何BroadcastReceivers接收。

startActivity()尝试根据您指定的类名 Intent Action(它是一个String)来启动一个Activity。

在您的情况下,Intent.ACTION_SENDTO是一个意图行动,因此需要startActivity()

来自文档:

  

标准活动操作

     

这些是Intent定义的当前标准操作   启动活动(通常通过 startActivity(意图)。最多   最重要的,也是最常用的,是ACTION_MAIN和   ACTION_EDIT。