3
A
答えて
1
あなたが標準的な方法でサービスを開始することができますが、startService()はコンテキストを必要とし、あなたがしている場合....私を助けてください
HashMap<String, String> myHashAlarm = new HashMap<String, String>();
myHashAlarm.put(TextToSpeech.Engine.KEY_PARAM_STREAM, String.valueOf(AudioManager.STREAM_ALARM));
myHashAlarm.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, "SOME MESSAGE");
t1.speak(text, TextToSpeech.QUEUE_FLUSH, myHashAlarm);
t1.speak("I can speak anything",TextToSpeech.QUEUE_ADD, null);
@Override
public void onInit(int status) {
if (status != TextToSpeech.ERROR) {
t1.setLanguage(Locale.US);
t1.setOnUtteranceProgressListener(new UtteranceProgressListener() {
@Override
public void onDone(String utteranceId) {
// Log.d("MainActivity", "TTS finished");
//here i want to start my service
startService(new Intent(this, MyService.class));// but its not working
}
@Override
public void onError(String utteranceId) {
}
@Override
public void onStart(String utteranceId) {
}
});;
}
}
ですあなたのProgressListener
の中に、それは文脈になります。
あなたがActivityから使用している場合は、
MyActivity.this.startService(new Intent(MyActivity.this, MyService.class));
を使用することができます
context.startService(new Intent(context, MyService.class));
を使用する必要がありますより多くのexamples on this questionがあります。この方法で使用する前に、もちろんcreate an intent and add extras to itを使用することができます。
関連する問題
- 1. 別のタスクが完了した後にエリクシールタスクを開始する
- 2. タイマーの完了時にアクティビティを開始するには?
- 3. ホバリング時に開始されたスピンアニメーションは、ホバーオフ時にも完了します
- 4. テスト完了 - テストは30-40秒後に開始されます。
- 5. 正確に時間の開始時にサービスを開始し、その後1時間ごとに繰り返す
- 6. systemd:サービスに開始/終了を渡す
- 7. JQuery ajax xhr開始前に100%完了しましたか?
- 8. jQuery - セッションの終了時にイベントを開始しますか?
- 9. シェフ:サービス開始時に何かする
- 10. サービス開始時に強制終了する
- 11. ループを開始する前にサービスが終了しました
- 12. 。タスクが完了する前に開始します。
- 13. スプリングブートダッシュボードプロジェクトの開始が完了しない
- 14. 開始時刻と終了時刻とサービス名をバッチファイルに出力する
- 15. 開始時間と終了時間を1つの開始時間と終了時間に分割する
- 16. TouchEndの終了後にイベントを開始します
- 17. 完了したらジョブが開始されますか?
- 18. JAVAからのjarファイルのロードが完了した後にテスト本体を開始します。
- 19. Oracleプロセスの完了後にSQL Serverエージェントetlジョブを開始する方法
- 20. 強制停止後にサービスを開始
- 21. Android - 起動時にサービスを開始
- 22. エラー1069 sqlserverサービスの開始時にログオンに失敗してサービスが開始しなかった
- 23. デバイス起動時にサービスを開始します
- 24. サービスを終了した後にサービスが再開しない
- 25. grafanaサービスの開始時にエラーが発生しました
- 26. Jenkinsパイプラインを防ぐ方法完了時にNodeJSサービスをシャットダウンしますか?
- 27. スレッドの後のコールバック。開始()が終了しましたか?
- 28. Foreachループの開始時および終了時にdivを配置します。
- 29. ページ開始時にタイマーを開始し、DBに時間を記録します
- 30. ループプログラムを終了した後の開始点に戻す
私はこの問題を理解していません - 標準の方法を使用したい場所でサービスを開始できないのはなぜですか? http://stackoverflow.com/a/12555333/1256219 – brandall
startService(新しいインテント(this、MyService.class)); コンストラクタ「テント(匿名android.speech.tts.utterenceProgressListener、java.lang.Classの」 –
umair
あなたは正しいコンテキストを使用する必要が解決することはできません。私の答えとドキュメントへのリンクを参照してください。 – brandall