excute에서 OID Device의 read 함수로 oid값을 읽는 것은 됩니다만

onDeviceDataChanged 에서 values값을 받아서 oid값을 읽는게 잘 안되서 질문을 올려봅니다.

소스입니다.-

package com.example.oidfirst;

import kr.robomation.physical.*;

import org.roboid.robot.*;
import org.smartrobot.android.*;

import android.os.*;
import android.widget.*;

public class MainActivity extends RobotActivity
{

    private Device mFrontLEDDevice;

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    }
    @Override
    public void onInitialized(Robot robot)
    {
    mFrontLEDDevice = robot.findDeviceById(Albert.COMMAND_FRONT_LED);
    }

    @Override
    public void onExecute()
    {
    }
    
    @Override
    public void onDestroy()
    {
    mFrontLEDDevice.write(0);
    super.onDestroy();
    
    }
    @Override
    public void onDeviceDataChanged(Device device, Object values, long time)
    {
    int front=-1;
    switch(device.getId())
    {
    case Albert.EVENT_FRONT_OID:
    front=((int[])values)[0];
Log.i("OIDREAD",""+front);
    if(front!=-1)
    {
    TextView tx=(TextView)findViewById(R.id.mytext);
    tx.setText("FOID:"+front);
    mFrontLEDDevice.write(1);
    }
    break;
  
    }
    }
    
}

최소 1회 oid가 정상적으로 읽히면 불이 켜지고 화면에 oid값이 나와야하는데 안되더군요; 어디 틀린부분이 있는지요;
로그를 보아하니 아예 이벤트가 발생하지 않는 듯 합니다... 왜그럴까요..