You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android通知不显示EditText输入内容问题求助

问题解决:EditText输入内容无法在通知中显示

你的问题根源是没有获取EditText的用户输入内容,而是在传递通知文本时用了硬编码的"通知内容"字符串,同时Receiver里的时间判断逻辑也可能导致通知无法正常弹出。以下是具体修复步骤:

1. 获取EditText的输入内容

在MainActivity中,你需要先引用布局里的EditText控件,然后将用户输入的文本传递给广播Intent:

修改MainActivity代码:

  • 在类中声明EditText变量:
private lateinit var inputEditText: EditText
  • 在onCreate方法中初始化这个控件:
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    // 初始化alarmManager和EditText
    alarmManager = getSystemService(Context.ALARM_SERVICE) as AlarmManager
    inputEditText = findViewById(R.id.your_edit_text_id) // 替换成你布局中EditText的实际ID
}
  • 修改setReminder方法中传递文本的代码,把硬编码字符串换成EditText的输入内容:
val reminderText = inputEditText.text.toString().trim()
// 空输入判断
if (reminderText.isEmpty()) {
    Toast.makeText(this, "请输入通知内容", Toast.LENGTH_SHORT).show()
    return
}

val reminderIntent = Intent(this, ReminderReceiver::class.java)
reminderIntent.putExtra("REMINDER_TEXT", reminderText) // 这里用获取到的用户输入
reminderIntent.putExtra("REMINDER_TIME", calendar.timeInMillis)

2. 修复ReminderReceiver中的时间判断逻辑

在ReminderReceiver的onReceive方法中,你判断reminderTime > currentTime,但闹钟触发时,reminderTime应该等于或略大于当前时间(系统调度存在微小延迟),这个判断会导致通知无法弹出,建议移除该判断:

修改ReminderReceiver的onReceive方法:

override fun onReceive(context: Context?, intent: Intent?) {
    Log.d("ReminderReceiver", "收到提醒广播")

    val reminderText = intent?.getStringExtra("REMINDER_TEXT") ?: "无通知内容"
    val reminderTime = intent?.getLongExtra("REMINDER_TIME", 0) ?: 0

    Log.d("ReminderReceiver", "提醒文本:$reminderText")
    Log.d("ReminderReceiver", "提醒时间:$reminderTime")

    // 直接显示通知,移除多余的时间判断
    showReminderNotification(context, reminderText)
}

3. 额外注意事项

  • 确保布局文件中的EditText控件ID和你在代码中引用的your_edit_text_id一致。
  • 当前代码中并未调用ReminderService,若不需要该类可以直接删除,避免冗余。

完成以上修改后,用户输入的文本就能正常显示在通知中了。

内容的提问来源于stack exchange,提问作者Layla98

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 01:15:08