android - 如何使用服务来监控 Android 中的方向变化

标签 android service android-widget screen-orientation

我正在编写一个显示倒数计时器的小部件。我让小部件按我想要的方式工作,直到我将手机从横向翻转到纵向。我的小部件不会更新并在小部件开始时进入其初始状态,直到我的重复警报调用 onupdate。我想在方向更改后手动调用 onupdate 以更新我的小部件我已经研究了一段时间,我发现我需要使用一个服务来监视方向更改并调用我的 onupdate我的小部件。

我的问题是我找不到关于如何使用服务来监控更改的直接答案。我已经看到,通过一个 Activity ,我可以将 android:configChanges="orientation|keyboardHidden" 添加到 Activity 的 list 中并使用 onConfigurationChanged,但我可以这样做吗为服务。如果有怎么办?有没有更好的方法来监控方向变化?我还在互联网上读到,服务也不是最好的方法。

我看过创建方向监听器的教程,但它们似乎使用了已弃用的函数调用。

提前致谢

最佳答案

Service#onConfigurationChanged(Configuration newConfig)为我工作。无需为我的意见注册接收者。我也没有向 AndroidManifest 添加任何过滤器。由于没有人建议此解决方案,我是否错过了讨论中的某些内容?我的服务正在前台运行。

只需放在您的服务中:

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    //Your handling
}

关于android - 如何使用服务来监控 Android 中的方向变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4625167/

相关文章:

Androidmanifest xml 不存在或根标签不正确

c - 在c中重新加载linux服务

android - 在启动时和安装应用程序后启动服务

android - 谷歌地图 V2 + 抽屉布局

android - 制作一个 "multiline"回收站 View

android - 在 onMessageReceived 后台运行 firebase 数据库操作

android - 如何更改 android spinner popupBackground

Android 图像按钮淡入淡出

java - 如何在 TAB 应用程序中的子 Activity 上按后退按钮时返回父 Activity

android - 无法将自定义添加的方法调用到我的适配器中(扩展 RecyclerView.Adapter<MyAdapter.ViewHolder>)