로봇을 휴대폰과 연결하지 않은 상태에서 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일에 시연할 때 테스트 폰은 어떤 것을 쓰는지 알 수 있을까요??




론처를 실행하지 않는다는 것과 로봇을 연결하지 않는다는 것은 다릅니다.
로그를 보니 론처 자체를 실행하지 않은 것 같은데요
론처가 실행되어 있는 상태에서 앱을 실행하셔야 합니다.
로봇 객체와는 관련 없고 서비스와 연결한 적이 없는데 해제하기 때문에 발생하는 문제입니다.
론처가 실행되어 있는 상태에서 개발하신 앱을 실행하시면 문제 없을 겁니다.
데모 심사하실 때는 본인의 폰을 사용하시면 됩니다. 별도로 폰이 제공되지는 않습니다.