だから私は少し問題があります。GCM を介して受信したメッセージに基づいてアプリを動作させようとしています。この場合、TextToSpeech クラスを使用して音を出すことになっています。うまくいきますが、初めてメッセージを送信するときではありません。これはおそらく TextToSpeech がインスタンス化されていないためだと思いますが、どうやってそれを行うのかわかりませんか? onInit() を試してみましたが、まったく機能しませんでした。
また、私の例で TTS をシャットダウンする最良の方法は何ですか?
免責事項: 私は PHP のバックグラウンドを持っており、Java の知識はほとんどありません。私は実践することで学ぼうとしているので、これがばかげた質問である場合はご容赦ください。前もって感謝します!
public class GCMIntentService extends GCMBaseIntentService {
private static final String TAG = "GCMIntentService";
public static TextToSpeech mtts;
public GCMIntentService() {
super(SENDER_ID);
}
@Override
protected void onMessage(Context context, Intent intent) {
Log.i(TAG, "Received message");
String message = intent.getExtras().getString("message");
mtts = new TextToSpeech(context, null);
if (message.startsWith("makeSound")) {
mtts = new TextToSpeech(context, null);
mtts.setLanguage(Locale.US);
mtts.speak(message, TextToSpeech.QUEUE_FLUSH, null);
}
}
}