私はアンドロイドアプリで活動を開始しています。
このアクティビティは開始ボタンが付いた単なるページです。私は、スタートボタンを押すと
、それは別のアクティビティを呼び出し、自分自身を閉じますAndroid - アクティビティを閉じた後、もう一度アプリを実行すると同時に2つのアクティビティが実行されます。どうすればそれを避けることができますか?
Intent i = new Intent(this, Dictating.class);
startActivity(i);
finish();
他の活動は、いくつかの単語を決定するために、テキストを音声に変換を使用しています。
今私は何か変わったことが起こっている:
1)私は口述を聞く。
2)私は戻るボタンを押す:口述の停止(私が欲しいもの)
3)私は再びアプリケーションを実行し、スタートボタンを押します。今私は新しい活動を実行して口述をしていますが、後ろには以前のアクティビティを聞くことができます。
新しいアクティビティをもう一度開始し、他のアクティビティを維持しないことをお勧めします。
どうすればいいですか?
PS:私は毎回、テキストを音声に変換をフラッシュしていますので、これは、テキストを音声に変換する問題の活動の問題ではなく、それは
はあなた
ありがとうございメモリに保持することができませんでしたEDIT:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.streaming);
Intent checkIntent = new Intent();
checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(checkIntent, MY_DATA_CHECK_CODE);
this.txtCurrentWord = (TextView) findViewById(R.id.txtCurrentWord);
this.btnPlayPause = findViewById(R.id.btnPlayPause);
this.btnPlayPause.setOnClickListener(this);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == MY_DATA_CHECK_CODE) {
if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) {
// success, create the TTS instance
this.tts = new TextToSpeech(this, this);
} else {
// missing data, install it
Intent installIntent = new Intent();
installIntent.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
startActivity(installIntent);
}
}
}
:ここ
は私の口述クラスののonCreateで、私は明らかに、すべての私のコードを投稿する必要はありません。このクラスのコードのトンがあるので、ここでいくつかの部分であります
いくつかの奇妙な薄いがありますgs私は次のようにしています:
Runnable task = new Runnable() {
public void run() {
//runs on ui
runOnUiThread(new Runnable() {
public void run() {
readNextWord();
}
});
}
};
worker.schedule(task, 1, TimeUnit.SECONDS);
これは、次の単語を1秒遅らせてから、メインのUIスレッドで機能を実行します。あなたが詳細については、AndroidManifest
ファイル内の自分の活動にlaunchModeプロパティを追加する必要が
@Override
public void onDestroy() {
tts.shutdown();
super.onDestroy();
}
あなたの「口述」のコードを投稿してください。クラス ' – Squonk
コードの一部を追加しました – xtrimsky
アクティビティが閉じられたときにTTSを「フラッシュする」場所はどこですか? – Squonk