근접센서 테스트를 진행하고 있는데요...

SensorEventListener의 onSensorChange메쏘드는 센서의 값이 변경이 됐을때만 호출이 되기 때문인지.....
처음 실행하면 값을 가져오지를 못하네요...
근접센서 앞에 손가락이라도 갖다되면 정상적으로 가져오기 시작하는데....
처음 값을 가져오고 싶은데.. 구글링을 해도 찾기가 쉽지가 않네요..

혹시 아시는분 계신가여??
아니면 원래 처음 센서리스너 등록하면 onSensorChange메쏘드가 호출이 되어야 하는건데.. 제가 뭘 잘못하고 있는걸까여?..

테스트 소스는아래 첨부합니다.^^

public class ProximitySensorTestActivity extends Activity implements SensorEventListener
{
 final String tag = "Chacker Sensor";


 private TextView tv = null;
 private SensorManager mSensorManager;
 
 @Override
 protected void onCreate(Bundle savedInstanceState)
 {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.lightsensortest);
  
  tv = (TextView)findViewById(R.id.text);
  
  mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
 }
 
 @Override
 protected void onResume()
 {
  super.onResume();
  try
  {
   mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY), SensorManager.SENSOR_DELAY_NORMAL);
  }
  catch(Exception e)
  {
   
  }
 }
 
 @Override
 protected void onStop()
 {
  try
  {
   mSensorManager.unregisterListener(this);
  }
  catch(Exception e)
  {
   
  }
  super.onStop();
 }
 
 @Override
 protected void onDestroy()
 {
  super.onDestroy();
 }


 public void onAccuracyChanged(Sensor sensor, int accuracy)
 {
  Log.d(tag,"onAccuracyChanged: " + sensor + ", accuracy: " + accuracy);
 }

 public void onSensorChanged(SensorEvent event)
 {
  synchronized (this)
  {
   Sensor sensor = event.sensor;
   Log.d(tag,"onSensorChanged: " + sensor + " " + sensor.getType());
   if(sensor.getType() == Sensor.TYPE_PROXIMITY)
   {
    StringBuffer sb = new StringBuffer();
    sb.append("vender:").append(sensor.getVendor()).append("\n");
    sb.append("name:").append(sensor.getName()).append("\n");
    sb.append("values:");
    float[] values = event.values;
    for(float f : values)
     sb.append(f).append(" ");
    sb.append("\n");
    
    tv.setText(sb.toString());
   }
  }
 }
}