首页 > 解决方案 > 当我收到意图时额外丢失

问题描述

我在这里阅读了很多帖子,但我找不到任何类似的问题或任何类似的解决方案来解决我的问题。我有一个返回 1 o 0 的方法取决于单选按钮中选择的性别getcode 我测试它工作正常。因此,当我单击方法中的一个按钮时,onClickListener我会创建一个意图并将其发送到 BroudcastReciver:

var intent=Intent(this,Receiver::java).apply{putExtra("x",getcode()}
var pi=PendingIntent.getBroadcast(this,0,intent,0)
alarm.setExact(AlarmManager.RTC_WAKEUP,calendar.timeInMillis,pi)

并在 Recieve 类中以休闲方式接收它:

onRecieve(c:Context,i:Intent){
i.getIntExtra("x",0)
}

问题是我发送 0 或 1 并且我总是收到第一个发送值。如果我第一次发送 0,我总是收到 0,即使意图是 1(我检查过)

标签: androidkotlinandroid-intentmissing-data

解决方案


正如@ADM 所说,我将这一行更改为:

var pi=PendingIntent.getBroadcast(this,0,intent,PendingIntent.FLAG_UPDATE_CURRENT)

推荐阅读