栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将可序列化对象传递给待处理的意图

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将可序列化对象传递给待处理的意图

我正在使用android Nougat,所以这些答案都没有奏效。我最终将对象传递到字节数组中。

//AlarmService.javaIntent myIntent = new Intent(getApplicationContext(), AlarmalertBroadcastReciever.class);ByteArrayOutputStream bos = new ByteArrayOutputStream();ObjectOutputStream out = null;try {    out = new ObjectOutputStream(bos);    out.writeObject(alarm);    out.flush();    byte[] data = bos.toByteArray();    myIntent.putExtra("alarm", data);} catch (IOException e) {    e.printStackTrace();} finally {    try {        bos.close();    } catch (IOException ex) {        ex.printStackTrace();    }}PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, myIntent, PendingIntent.FLAG_CANCEL_CURRENT);AlarmManager alarmManager = (AlarmManager) getApplicationContext().getSystemService(Context.ALARM_SERVICE);alarmManager.set(AlarmManager.RTC_WAKEUP, alarm.getAlarmTime().getTimeInMillis(), pendingIntent);

然后我收到了Byte []

//AlarmalertBroadcastReceiver.java@Overridepublic void onReceive(Context context, Intent intent) {   ByteArrayInputStream bis = new ByteArrayInputStream(intent.getByteArrayExtra("alarm"));    ObjectInput in = null;    Alarm alarm = null;    try {        in = new ObjectInputStream(bis);        alarm = (Alarm)in.readObject();    } catch (ClassNotFoundException e) {        e.printStackTrace();    } catch (IOException e) {        e.printStackTrace();    } finally {        try { if (in != null) {     in.close(); }        } catch (IOException ex) { ex.printStackTrace();        }    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/496796.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号