gpt4 book ai didi

android - 在 OnPause() 中检测屏幕方向变化

转载 作者:搜寻专家 更新时间:2023-11-01 09:10:11 27 4
gpt4 key购买 nike

我正在使用 MonoDroid,但等效的 Java 答案仍然有帮助。

我正在使用纵向布局和横向布局,因此,如果可能的话,我想使用 Android 屏幕方向来自动销毁/创建 Activity 。

我的应用程序正在使用 TextToSpeech,因此在 Activity 的 OnPause() 中,我正在停止它,当按下 Home 键或有来电时,它运行良好。但是,我不想在用户更改屏幕方向时停止 TextToSpeech。

是否有一种简单的方法来检测此更改,以便 TextToSpeech 不被中断?

我的 Activity 的 OnStop() 代码:

protected override void OnPause()
{
// I need this for Home key, intercepting phone calls, etc.
// But how can I prevent this for a screen orientation change?
// Need to enable screen orientation to get my portrait/landscape views
if(Text2Speech.IsTextToSpeechInitialised && Text2Speech.TextToSpeech != null)
Text2Speech.TextToSpeech.Stop();

base.OnPause();
}

最佳答案

正如其他人在对该问题的评论中所说的那样,我认为您需要在这里自己处理配置更改。有other configuration changes这也可能导致您的 Activity 重新启动,例如显示设备的硬件键盘。

在 Mono for Android 中,您可以在 ActivityAttribute 中指定要自己处理哪些:

[Activity(ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.KeyboardHidden)]
public class MainActivity : Activity

关于android - 在 OnPause() 中检测屏幕方向变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8776320/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com