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();相同了,换个名称
------解决方案--------------------
引用:
Quote: 引用:

Intent intent = new Intent();