Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 为什么改变方向会触发另一次事件?_Android_Android Activity - Fatal编程技术网

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活动生命周期文档。