android activity service 传值的有关问题
android activity service 传值的问题
在类A 里面 的onCreate 函数里
Intent m_intent=new Intent(this, TestService.class);
m_intent.putExtra("student_id", "yang");
//开始service 注册后可接收广播
startService(m_intent);
传说数据,TestService类中
public void onStart(Intent intent, int startId)
{
// Log.i("TAG","Services onStart");
super.onStart(intent, startId);
new Thread()
{// 新建线程,每隔1秒发送一次广播,同时把i放进intent传出
public void run()
{
int i = 0;
String Send;
while (!isStop)
{
if (i != 101)
{
Intent intent = new Intent();
//发送数据
intent.putExtra("i", i);
i++;
intent.setAction("android.intent.action.test");// action与接收器相同
Send=intent.getStringExtra("student_id");
System.out.println("Send "+Send);
sendBroadcast(intent);
}
接收数据为什么接收到一直是空的 该如何修改,谢谢。
------解决方案--------------------
Intent intent = new Intent();
//发送数据
intent.putExtra("i", i);
i++;
intent.setAction("android.intent.action.test");// action与接收器相同
Send=intent.getStringExtra("student_id");
你在这个新new出来的intent中取值,怎么会有呢?
------解决方案--------------------
把变量名称区分开
------解决方案--------------------
你的这个 public void onStart(Intent intent, int startId)方法中的intent名称和你Intent intent = new Intent();相同了,换个名称
------解决方案--------------------
在类A 里面 的onCreate 函数里
Intent m_intent=new Intent(this, TestService.class);
m_intent.putExtra("student_id", "yang");
//开始service 注册后可接收广播
startService(m_intent);
传说数据,TestService类中
public void onStart(Intent intent, int startId)
{
// Log.i("TAG","Services onStart");
super.onStart(intent, startId);
new Thread()
{// 新建线程,每隔1秒发送一次广播,同时把i放进intent传出
public void run()
{
int i = 0;
String Send;
while (!isStop)
{
if (i != 101)
{
Intent intent = new Intent();
//发送数据
intent.putExtra("i", i);
i++;
intent.setAction("android.intent.action.test");// action与接收器相同
Send=intent.getStringExtra("student_id");
System.out.println("Send "+Send);
sendBroadcast(intent);
}
接收数据为什么接收到一直是空的 该如何修改,谢谢。
------解决方案--------------------
Intent intent = new Intent();
//发送数据
intent.putExtra("i", i);
i++;
intent.setAction("android.intent.action.test");// action与接收器相同
Send=intent.getStringExtra("student_id");
你在这个新new出来的intent中取值,怎么会有呢?
------解决方案--------------------
把变量名称区分开
------解决方案--------------------
你的这个 public void onStart(Intent intent, int startId)方法中的intent名称和你Intent intent = new Intent();相同了,换个名称
------解决方案--------------------