1

我有一个包含 FragmentActivity 的 android wear 应用程序:

public class MyFragmentActivity extends FragmentActivity

有 2 个片段:

public class MyFirstFragment extends Fragment

public class MySecondFragment extends Fragment

我想在这个片段活动中启用环境模式(始终开启)。但是,根据文档,环境模式仅在我扩展时可用WearableActivity

有没有办法将FragmentActivity&的两个属性WearableActivity合二为一?

或者

是否有另一种方法可以在 中启用环境模式FragmentActivity

4

3 回答 3

3

您应该实现AmbientModeSupport.AmbientCallbackProvider而不是WearableActivity,然后您可以扩展FragmentActivity

这是新的首选方法,它仍然为您提供了 WearableActivity 的所有好处,但也允许您使用Activity(或任何子类...... FragmentActivity 等)。

官方文档列出了详细信息(和示例代码)

更新:AmbientModeSupport现在使用而不是AmbientMode. Google 最近更改了名称,因此不推荐使用旧版本。

于 2017-10-25T17:47:38.047 回答
2

这两个问题的答案都是,对不起。

环境模式是通过调用来启用的WearableActivity.setUseAmbient(),如果你不扩展它显然是不可用的WearableActivity。而且由于 Java 不支持多重继承,因此您不能同时子类化两者WearableActivity-FragmentActivity它是其中之一。

你真的需要在 watch Activity 中使用 Fragments 吗?如果您真的想支持环境模式,您可能需要考虑将您的 UI 从片段中移出。

于 2016-06-11T19:31:33.170 回答
0

如果要在 Android Wear 上使用 Fragments 并支持 Ambient 模式,则需要使用AmbientModeSupport该类。

让您的活动扩展FragmentActivity和实施AmbientModeSupport.AmbientCallbackProvider,一切就绪!

详细信息和示例在这里:https ://developer.android.com/training/wearables/apps/always-on#ambient-mode-class

于 2018-07-13T23:50:48.003 回答