private BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver() 
  {  
    public void onReceive(Context context, Intent intent) 
    { 
      String action = intent.getAction();  
      if (Intent.ACTION_BATTERY_CHANGED.equals(action)) 
      { 
        intLevel = intent.getIntExtra("level", 0);  
        intScale = intent.getIntExtra("scale", 100); 
        onBatteryInfoReceiver(intLevel,intScale);
      }  
    } 
  };
 public void onCreate(Bundle savedInstanceState) 
  { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    
    mButton01 = (Button)findViewById(R.id.myButton1);  
    mButton01.setOnClickListener(new Button.OnClickListener() 
    { 
      public void onClick(View v) 
      { 
        registerReceiver 
        ( 
          mBatInfoReceiver, 
          new IntentFilter(Intent.ACTION_BATTERY_CHANGED)
        ); 
      } 
    }); 
  }
public void onBatteryInfoReceiver(int intLevel, int intScale) 
  {
    final Dialog d = new Dialog(ey06_02.this);
    d.setTitle(R.string.str_dialog_title); 
    d.setContentView(R.layout.mydialog); 
    
    Window window = d.getWindow(); 
    window.setFlags 
    (  
      WindowManager.LayoutParams.FLAG_BLUR_BEHIND, 
      WindowManager.LayoutParams.FLAG_BLUR_BEHIND 
    );
    TextView mTextView02 = (TextView)d.findViewById(R.id.myTextView2); 
    mTextView02.setText 
    ( 
      getResources().getText(R.string.str_dialog_body)+ 
      String.valueOf(intLevel * 100 / intScale) + "%" 
    );
    Button mButton02 = (Button)d.findViewById(R.id.myButton2); 
    mButton02.setOnClickListener(new Button.OnClickListener() 
    { 
      public void onClick(View v) 
      { 
        unregisterReceiver(mBatInfoReceiver); 
        d.dismiss(); 
      } 
    }); 
    d.show(); 
  } 
}
这个代码是检测手机电量的,我这里好像只是注册了广播,但没发出,难道手机内电量这个广播不间断的在发的,只要注册了就可以接收到?