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

问题描述

线程中调用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的。

解决方案

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

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

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

解决方案二:

很有可能是 线程没有将数据存进去,你就取数据了,梳理下逻辑看看是不是~

解决方案三:

很有可能是 线程没有将数据存进去,你就取数据了,梳理下逻辑看看是不是~

解决方案四:

其实是我想从通知栏传数据到Activity。 加上这句就ok了。 PendingIntent.getActivity(getApplicationContext(), 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); 再次感谢您的回答。

解决方案五:

其实是我想从通知栏传数据到Activity。 加上这句就ok了。 PendingIntent.getActivity(getApplicationContext(), 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); 再次感谢您的回答。

时间: 2024-12-09 21:48:43

android-线程中调用putExtras, activity调用getExtras返回空的相关文章

在Android系统中Service的远程调用

在Android系统中Service的远程调用 http://liangruijun.blog.51cto.com/3061169/653344

Android线程中设置控件的值提示报错的解决方法_Android

本文实例讲述了Android线程中设置控件的值提示报错的解决方法.分享给大家供大家参考,具体如下: 在Android线程中设置控件的值一般会与Handler联合使用,如下: package com.yarin.android.Examples_04_15; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import andro

Android开发中重要组件activity 生命周期以及启动模式分析

Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务. Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setContentView(View)来显示指定控件. 在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应.Activity之间通过Intent进行通信. Activity生命周期 安卓活动由一个返回栈管理 安卓活动有四个状态 1.运行状态 当一个活动位

android开发中重要组件Activity详细学习教程

Activity是Android组件中最基本也是最为常见用的四大组件(Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器)之一.它间接继承自android.content.Context,因此,有些时候都直接把Activity实例当做Context的实例来使用. 如前面所提到的要在应用程序中使用Activity,必须在Android Manifest.xml中配置它. 新建一个Android工程,新建过程中勾选creat

Android线程中设置控件的值提示报错的解决方法

本文实例讲述了Android线程中设置控件的值提示报错的解决方法.分享给大家供大家参考,具体如下: 在Android线程中设置控件的值一般会与Handler联合使用,如下: package com.yarin.android.Examples_04_15; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import andro

android项目出错-android项目中从一个Activity跳转到另外一个Activity发生空指针异常是什么原因造成的

问题描述 android项目中从一个Activity跳转到另外一个Activity发生空指针异常是什么原因造成的 android项目中从一个Activity跳转到另外一个Activity发生空指针异常是什么原因造成的 解决方案 具体得log信息啊.你把log 截取出来看看. 解决方案二: 你把logcat里的红字贴出来 解决方案三: 你把logcat里的红字贴出来 解决方案四: 你把logcat里的红字贴出来 解决方案五: 你把logcat里的红字贴出来

线程中的回调函数如何获得返回值,请高手开悟,在线等......

问题描述 普通回调方法:classA{classBxx=newclassB();stringss=k.ca(tm);stringtm(stringxm){returnxm+"一杯醉倒";}}classB{publicdelegatestringtc();publicstringca(tcmm){MessageBox.Show("到这里了!");returnmm("我");}}执行stringss=k.ca(tm);语句后,得到回调函数tm的返回值

android listview中getView重复被调用的问题

getView被调用的次数取决于当前屏幕能显示的item的数量,显示一个item就调用一次.当listview的layout_height属性是wrap_content时,有可能造成listview无法计算高度,相应的需要显示的item数量就无法计算,造成getView多次被调用. 解决方案: 1: 在listview外面套一层RelativeLayout,将listview高度设置为fill_parent. <RelativeLayout xmlns:android="http://sc

格式-关于Android项目中不同包之间的类相互调用

问题描述 关于Android项目中不同包之间的类相互调用 在同一个项目中我创建了几个包,然后在包 com.g.zxing.client.android中创建了类文件数据库MySQLiteOpenHelper我想在包com.g.zxing.client.android.result中的TextResultHandler.java调用MySQLiteOpenHelper格式如下import com.g.zxing.client.android.MySQLiteOpenHelper; public M