Softwaring 2015-04-21 01:27 采纳率: 66.7%
浏览 2227
已采纳

线程中调用putExtras, activity调用getExtras返回空

详细描述如下:
在service类中新建一线程, 线程中写了如下代码:

intent = new Intent (getBaseContext (), MeiaAlarmDetail.class); 
Bundle bundle = new Bundle();  
bundle.putString("DevID", alarm_info.DevID);
intent.putExtras (bundle);

但是在MeiaAlarmDetail.class这个类中, 去调用getExtras, 返回值却是null。

如果把以上代码放到onStartCommand中, 是可以获取到Bundle的。

  • 写回答

3条回答 默认 最新

  • 清水依恋成 2015-04-21 01:45
    关注

    首先,确认一下你接收广播intent = new Intent这块是不是和发送端发送广播时的action配对,我没看到你intent的action配对代码,即intent.setAction。

    如果你想使用bundle传递对象,对象bean必须实现java.io.Serialable接口。

    另外需要告诉你额是,bundle承载的数据最好总大小不要超过256K,否则会有丢包的现象发生。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥30 最小化遗憾贪心算法上界
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。