一部の音声をリッスンするサービスがあります。音声が文字列と一致する場合、特定のメソッドがサービス オブジェクトで呼び出されます。
public class SpeechActivationService extends Service {
public static Intent makeStartServiceIntent(Context pContext){
return new Intent(pContext, SpeechActivationService.class);
}
//...
public void onMatch(){
Log.d(TAG, "voice matches word");
}
//...
}
これは、アクティビティでサービスを開始する方法です。
Intent i = SpeechActivationService.makeStartServiceIntent(this);
startService(i);
このサービス メソッドから、アクティビティ オブジェクトにあるメソッドを呼び出すにはどうすればよいですか? アクティビティからサービスへのアクセスではなく、サービスからアクティビティへのアクセスが必要です。ハンドラーとブロードキャスターについては既に読みましたが、例を見つけたり理解したりできませんでした。何か案は?