안녕하세요.
음성인식을 활용하려고 합니다.
RecognizerIntent.class 를 참고하면 쉽게 구현이 가능한것은 알것 같습니다.
그런데 기본골자가.... Intent를 통해서, startActivityForResult 로 음성인식을 실행시키고, onActivityResult 로 결과값을 받아오는 방식입니다.
그런데 문제는, 제가 개발중인 어플이, activity를 상속받는게 아니라, service를 상속받고 있어, startActivityForResult 를 사용할 수 없습니다.
별도의 activity를 만들면 안되는 상황이고(화면이 전환되면 안되므로), inner class를 만들어 extends Activity 를 해서 사용해도 안되네요..
어떤 방법으로 하면 좋을지 의견 여쭙니다~~
감사합니다.
서비스를 생성할 때 context를 인자로 받고 처리하면 되지 않을가요?
아니면 해당 동작이 수행 될때 interface로 activity에 알리고 listener에서 처리해도 될것 같네요
네 답변주신 분들 감사합니다.
우선 listener 로 처리하는 방법도 있는것 같긴한데요...
startActivityForResult 함수를 사용하여 구현하고 싶습니다^^
그래서 현재, 아래와 같이 inner class 로 해보았는데, 역시 에러이네요....
어떤식으로 구조를 잡아야 startActivityForResult 와 onActivityResult 로 데이터를 받아올수 있을까요??
class A extends InputMethodService {
,,,,,,
startB();
class B extends Activity {
...
startB(){
Intent intent = new Intent(..);
startActivityForResult(intent,123);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
....
}
} // end of class B
} // end of class A




글세요.. 저의 짧은 생각으로는.. activity간 데이터를 주고받기위한 방법중 한가지로 intent를 사용하는 것이지...
activity간 데이터공유가 아니라면 굳이 startActivityForResult 를 사용해야하는것은 아닐것같은데요..ㅎㅎ