微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当我收到意图时额外丢失

如何解决当我收到意图时额外丢失

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

var intent=Intent(this,Receiver::java).apply{putExtra("x",getcode()}
var pi=PendingIntent.getbroadcast(this,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(我检查过)

解决方法

作为 @ADM said 我将此行更改为:

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。