除非我先创建一个 activity,否则我无法在 BroadcastReceiver 中显示吐司

I can't show a toast inside a BroadcastReceiver unless first I created an activity

在这段代码中,我尝试在 BroadcastReceiver 中显示两次 toast。第一个没有问题,之前我创建了一个 activity,但是第二个 toast 没有显示。问题是什么?如何在没有 activity 的情况下祝酒?问题可能是,如果在显示祝酒词后应用程序结束,祝酒词不显示?

    class MyReceiver : BroadcastReceiver() {
    val PREFS_NAME = "MyPrefsFile"

    override fun onReceive(context: Context, intent: Intent) {

        if (intent.action.equals(Intent.ACTION_USER_PRESENT)) { //when unlock

            val settings = context.getSharedPreferences(PREFS_NAME, 0)
            var veces = settings.getInt("veces", 0)
            val limite = settings.getInt("limite", 3)
            veces++
            val editor = settings.edit()
            editor.putInt("veces", veces)

            editor.apply()
            if (veces % limite == 0) {   //
                val intent1 = Intent(context, MainActivity::class.java)
                intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
                context.startActivity(intent1)
                Toast.makeText(context, "Veces $veces", Toast.LENGTH_LONG).show()   //works
            } else {
                Toast.makeText(context, "Veces $veces", Toast.LENGTH_LONG).show()  //It doesn't work
            }
        }
    }
}

我想这不是最好的解决方案,但我已经通过创建第二个透明 activity 实现了我想做的事情,我从这个透明 activity.I 中展示了吐司,想知道它是否是无需创建 activity.

即可显示来自 BroadcasReceiver 的祝酒词