안녕하세요. 지난번에 메일로 RobotActivity를 상속 받았을 때 에러가 나는 것에 대해 문의드렸던 참가자입니다.

로봇을 휴대폰과 연결하지 않은 상태에서 RobotActivity를 상속받으면 에러가 난다고 말씀드렸었는데요.

연결이 되지 않았을 때 앱을 실행해도 죽지 않는다고 답변해주셔서 테스트로 다음과 같은 Activity를 만들어서 실행을 해봤습니다.

public class MainActivity extends RobotActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

@Override
public void onInitialized(Robot robot) {
}

@Override
public void onExecute() {
}
}

실행을 한 후 back키를 누르면

02-23 14:49:05.800: E/AndroidRuntime(1604): java.lang.RuntimeException: Unable to stop activity {com.example.smartrobot/com.example.smartrobot.MainActivity}: java.lang.IllegalArgumentException: Service not registered: org.smartrobot.android.SmartRobot$1@41a54240
02-23 14:49:05.800: E/AndroidRuntime(1604): at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3278)
02-23 14:49:05.800: E/AndroidRuntime(1604): at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3332)
02-23 14:49:05.800: E/AndroidRuntime(1604): at android.app.ActivityThread.access$1200(ActivityThread.java:140)
02-23 14:49:05.800: E/AndroidRuntime(1604): Caused by: java.lang.IllegalArgumentException: Service not registered: org.smartrobot.android.SmartRobot$1@41a54240
02-23 14:49:05.800: E/AndroidRuntime(1604): at android.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:917)
02-23 14:49:05.800: E/AndroidRuntime(1604): at android.app.ContextImpl.unbindService(ContextImpl.java:1394)
02-23 14:49:05.800: E/AndroidRuntime(1604): at android.content.ContextWrapper.unbindService(ContextWrapper.java:412)
02-23 14:49:05.800: E/AndroidRuntime(1604): at org.smartrobot.android.SmartRobot.disconnect(SmartRobot.java:423)
02-23 14:49:05.800: E/AndroidRuntime(1604): at org.smartrobot.android.SmartRobot.doDeactivate(SmartRobot.java:351)
02-23 14:49:05.800: E/AndroidRuntime(1604): at org.smartrobot.android.SmartRobot.deactivate(SmartRobot.java:246)

 

로그캣에 이러한 에러가 뜨면서 앱이 죽습니다ㅜㅜ 액티비티가 종료될 때 robot 객체가 없는 것이 문제가 되는 것 같은데 어떻게 해야 하나요?

 

 

그리고 한가지 더 여쭙고 싶은건 2월 26일에 시연할 때 테스트 폰은 어떤 것을 쓰는지 알 수 있을까요??