startActivity()和sendBroadcast()的区别是啥???

村口老张头 2014-10-21 04:25:12
startActivity()已经可以实现启动另一个activity的效果,那为啥还存在一个sendBroadcast()???
这两个啥区别???求大神解答
...全文
1320 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复 1
引用 6 楼 u011209376 的回复:
楼主的意思我懂。同是小菜的我同病相怜啊,你们这些大神能否宽容点。 startactivity(intent),sendbroadcast(intent),这两个intent前一个是显式Intent,后一个是隐式Intent,在显式Intent消息中,决定目标组件的唯一要素就是组件名称,因此,如果你的Intent中已经明确定义了目标组件的名称,那么你就完全不用再定义其他Intent内容。直接指定activity的名称就行了,所以就用startactivity,多用于在应用程序内部传递消息;而对于隐式Intent则不同,由于没有明确的目标组件名称,所以必须由Android系统帮助应用程序寻找与Intent请求意图最匹配的组件。Android系统寻找与Intent请求意图最匹配的组件具体的选择方法 是:Android将Intent的请求内容和一个叫做IntentFilter的过滤器比较,IntentFilter中包含系统中所有可能的待选组件,通过sendbroadcast的方式,它更广泛地用于在不同应用程序之间传递消息。
正解!!!!!!!!!!!!!!
村口老张头 2014-10-23
  • 打赏
  • 举报
回复
我刚入手Android,求大神饶命
Kifile 2014-10-22
  • 打赏
  • 举报
回复
两个的作用完全不一样啊,一个是跳转界面,一个是处理事件分发,设计他们的目的不同
dali_yan 2014-10-22
  • 打赏
  • 举报
回复
引用 楼主 hao2244 的回复:
startActivity()已经可以实现启动另一个activity的效果,那为啥还存在一个sendBroadcast()??? 这两个啥区别???求大神解答
其實我想反問樓主這2個有什麼關聯?
开发者_android 2014-10-22
  • 打赏
  • 举报
回复
broadcast可监听响应,调用activity,也就这么个关系.
隐香执扇 2014-10-22
  • 打赏
  • 举报
回复
startactivity也可以通过传入一个隐式Intent的方式来启动一个activity,这种方式就不需要broadcastreceiver了;如果用sendbroadcast的方式想启动一个activity,似乎不行,sendbroadcast要求有能够监听广播的broadcastreceiver,重写这个broadcastreceiver的onreceive函数,里面可以写一些操作,在这个onreceive函数再用startactivity启动activity应该可以,不过这就多此一举了
DrSmart 2014-10-22
  • 打赏
  • 举报
回复
没啥关系,楼主基础问题比较大
隐香执扇 2014-10-22
  • 打赏
  • 举报
回复
楼主的意思我懂。同是小菜的我同病相怜啊,你们这些大神能否宽容点。 startactivity(intent),sendbroadcast(intent),这两个intent前一个是显式Intent,后一个是隐式Intent,在显式Intent消息中,决定目标组件的唯一要素就是组件名称,因此,如果你的Intent中已经明确定义了目标组件的名称,那么你就完全不用再定义其他Intent内容。直接指定activity的名称就行了,所以就用startactivity,多用于在应用程序内部传递消息;而对于隐式Intent则不同,由于没有明确的目标组件名称,所以必须由Android系统帮助应用程序寻找与Intent请求意图最匹配的组件。Android系统寻找与Intent请求意图最匹配的组件具体的选择方法 是:Android将Intent的请求内容和一个叫做IntentFilter的过滤器比较,IntentFilter中包含系统中所有可能的待选组件,通过sendbroadcast的方式,它更广泛地用于在不同应用程序之间传递消息。
Darcy杨 2014-10-21
  • 打赏
  • 举报
回复
从功能上讲,sendBroadcast也可以启动activity,不过需要设置newTask,实际用这种方法启动activity的不多。 从语义上说,broadcast更多的是用来监听一些事件,然后做一些处理。启动activity也算是处理的一种。
MR__P 2014-10-21
  • 打赏
  • 举报
回复
贴代码,看不懂你说的

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧