Android 为什么改变方向会触发另一次事件?
我有一个活动,它使用文本到语音引擎大声说出给定的文本。这是:Android 为什么改变方向会触发另一次事件?,android,android-activity,Android,Android Activity,我有一个活动,它使用文本到语音引擎大声说出给定的文本。这是: public class AfterPassword extends Activity implements OnInitListener { private TextToSpeech tts; private String message = "This message will be spoken out."; static final int TTS_CHECK_CODE = 0; /** Cal
public class AfterPassword extends Activity implements OnInitListener {
private TextToSpeech tts;
private String message = "This message will be spoken out.";
static final int TTS_CHECK_CODE = 0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.afterpassword);
tts = new TextToSpeech(this, this);
}
@Override
public void onInit(int initStatus) {
if (initStatus == TextToSpeech.SUCCESS) {
tts.speak(message, TextToSpeech.QUEUE_FLUSH, null);
}
}
}
我面临的问题是,当演讲结束时,用户偶然改变了屏幕方向,演讲又开始了。我想停止关于方向更改的发言。如果方向更改,应用程序将重新启动。尝试在方向更改前保存应用程序的状态,或将屏幕锁定在纵向或横向模式。在方向更改时,应用程序将重新启动。尝试在更改方向前保存应用程序的状态,或在纵向或横向模式下锁定屏幕。更改方向时,活动将被销毁并重新创建。所有UI组件都会发生这种情况。另一方面,服务会停留在方向更改上。并用文本信息发布意图。您可以将TTS代码放置在
onHandleIntent()
中。当方向更改时,活动将被销毁并重新创建。所有UI组件都会发生这种情况。另一方面,服务会停留在方向更改上。并用文本信息发布意图。您可以将TTS代码放入onHandleIntent()
请阅读Android活动生命周期文档。请阅读Android活动生命周期文档。