android - 实现 ComponentCallbacks 以监听 onConfigurationChanged

标签 android android-activity

ComponentCallbacks interface在 android 中由 Activity 、ActivityGroup、服务等使用。他们实现它并在 Activity 配置更改时某人通知他们。所以,我想创建自己的类来实现 ComponentCallbacks 监听 onConfigurationChanged 并执行一些操作......所以我的类正在实现,但是......我想我需要在某人的观察者中注册我的类.

那么,这可能吗?有没有什么方法可以“注册”我自己的类,以便在配置更改时得到通知?

我猜这个人可能是 ActivityThread 和它的方法 collectComponentCallbacksLocked。但是我在这里没有看到任何方法来注册我自己的类(class)。

ActivityThreadComponentCallbacks using

附注当然我可以覆盖 Activity 的方法 onConfigurationChange change 然后调用我的类的 onConfigurationChanged 方法,但我不想。我想知道在android中是否有任何方法可以做到这一点。

最佳答案

在“Google I/O 2012 - Doing More with Less:Being a Good Android Citizen”演讲(您可以在 youtube 上找到)中解释说,您可以通过调用 Context.registerComponentCallbacks。 因此,您只需让您的类实现 ComponentCallbacks 接口(interface)(或您希望的 ComponentCallbacks2),您可以重写的方法会自动添加,并从您的 Activity、Fragment 中添加。 . 只需从您的类(class)传递实例即可注册到它。像这样:

 registerComponentCallbacks( mYourClass );

那应该做的工作:)

关于android - 实现 ComponentCallbacks 以监听 onConfigurationChanged,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11275738/

相关文章:

java - 从服务启动第三方应用程序

android - 通过 Intent 关闭另一个 Activity 的 Activity

android - 在 android 中发送电子邮件后返回启动 Activity

Android fragment 选项卡使用 - android.support.v4.app.Fragment

java - (Android)如何在我的音乐播放器上显示时间

java - Android - 部分关闭应用程序时丢失变量数据

android - 如何更改 xamarin.android 中默认显示警报的背景颜色?

Android 开发——在 Tab Activity 中显示的 AlertDialog

android - 如何在偏好 fragment 中获取偏好值

android - 选项菜单从不显示在 fragment 中