【问题标题】:Toast message from Broadcast Receiver来自广播接收器的 Toast 消息
【发布时间】:2011-10-26 09:38:51
【问题描述】:

我有一个广播接收器,我正在尝试从中显示一条 toast 消息,这可能吗? 此代码不显示 toast,但会在 logcat 中打印日志消息。是不是我在做一些愚蠢的事情或者我的问题是什么?

@Override
public void onReceive(Context context, Intent intent) {
    Log.v("log", "this is shown");
    Toast.makeText(context, "this is not shown"     , Toast.LENGTH_LONG);
}

【问题讨论】:

  • 正如 lukuluku 建议的那样,从 BroadcastReceiver 创建 Toast 不一定是一件好事。当其他一些Activity 正在使用时,您的BroadcastReceiver 可能“活着”。在这种情况下,Toast 对设备用户来说毫无意义。
  • @Squonk 当然,这通常不是一件好事,但在cases like this 中很有用。

标签: android broadcastreceiver toast


【解决方案1】:

Toast 调用show() 方法。

【讨论】:

  • 我不得不大老远来到这里,才发现自己也是个白痴。谢啦。 +1。
  • 这里还有一个:P
  • 又加了一个
【解决方案2】:

您忘记在Toast 上致电show().. 虽然我不建议从 BroadcastReceivers 创建 toasts.. 你可以考虑使用通知

【讨论】:

  • 我知道我来晚了,但是为什么从 BroadcastReceivers 创建 toast 不是一个好主意?
  • @VictorAlencarSantos 因为用户可能会感到困惑并且不知道哪个应用程序创建了 toast 消息。想象一下有几十个应用程序会产生 toast 消息 - 这将是混乱多于帮助。
  • 明白!谢谢兄弟!
【解决方案3】:

使用这个

Toast.makeText(context, "this is not shown",Toast.LENGTH_LONG).show();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-19
    • 1970-01-01
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    • 2016-01-31
    • 2019-05-12
    • 1970-01-01
    相关资源
    最近更新 更多