Я не могу инициализировать класс SpeechRecognizer из Службы.
я был в состоянии загрузить это от деятельности, но это не смогло загрузить в сервисе. Кто-нибудь может мне помочь разобраться?
открытый класс MainActivity расширяет AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
startService(new Intent(this,BackgroundService.class));
}
}
открытый класс BackgroundService расширяет Сервис, реализует SpeechRecognizerManager.OnResultListener {
private SpeechRecognizerManager mSpeechRecognizerManager;
public BackgroundService(){
}
@Override
public void onCreate() {
mSpeechRecognizerManager =new SpeechRecognizerManager(BackgroundService.this);
mSpeechRecognizerManager.setOnResultListner(BackgroundService.this);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
mSpeechRecognizerManager =new SpeechRecognizerManager(BackgroundService.this);
mSpeechRecognizerManager.setOnResultListner(BackgroundService.this);
return START_STICKY;
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void OnResult(ArrayList<String> commands) {
}
}
открытый класс SpeechRecognizerManager {
public SpeechRecognizerManager(Context context) {
this.mContext = context;
initPockerSphinx();
}
public void setOnResultListner(OnResultListener onResultListener){
mOnResultListener=onResultListener;
}
private void initPockerSphinx() {
new AsyncTask<Void, Void, Exception>() {
@Override
protected Exception doInBackground(Void... params) {
try {
//some code
} catch (IOException e) {
return e;
}
return null;
}
@Override
protected void onPostExecute(Exception result) {
if (result != null) {
Toast.makeText(mContext, "Failed to init mPocketSphinxRecognizer ", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(mContext, "Working", Toast.LENGTH_SHORT).show();
restartSearch(KWS_SEARCH);
}
}
}.execute();
}
Я получаю тост "Не удалось инициализировать mPocketSphinxRecognizer"