【发布时间】:2013-01-24 08:28:40
【问题描述】:
您可能知道,BroadcastReceiver 类的 onReceive() 方法的文档说:
当它在主线程上运行时,你永远不应该执行长时间运行 其中的操作(系统超时 10 秒) 允许在考虑接收器被阻塞和候选者之前 被杀)。您无法在实施中启动弹出对话框 onReceive()。
我想在收到广播时向用户显示 Toast,但我不确定 Toast 是否被视为“弹出对话框”,或者只有 Dialog 类中的对象才是它们所指的对象。
我见过很多代码示例,其中在此函数中使用了 Toast,但我不确定这是否是不好的做法,或者它是否会对性能产生很大影响。
我想知道的是我是否应该在这个函数中创建一个 Toast,如果没有,我应该怎么做(扩展 Toast 然后使用一个意图来调用它?)。
【问题讨论】:
-
只需将吐司放入 onReceive() 中,这样做不会有任何问题,而且这不是一个坏习惯。这取决于您需要与用户进行何种互动。
标签: android broadcastreceiver toast