我的应用程序如何(在运行时)弄清楚它是否在Android Wear上运行?

时间:2014-12-20 00:02:13

标签: android wear-os

我知道如何获得我正在运行的构建版本:

 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
      try {
        // Update the action bar title with the TypefaceSpan instance
        final ActionBar bar = getActionBar();
        ....

我还希望在if语句中有一个(&&!wearable),因为在可穿戴设备上没有actionBar。如果它也以某种方式包含在Build类中会很棒。

该应用尚未正式穿戴,但这是部分共享代码的一部分,所以请不要告诉我将其从可穿戴活动中传递出去。

谢谢!

1 个答案:

答案 0 :(得分:1)

如果确实想要确定您是否在观看,我会尝试PackageManagerhasSystemFeature()来查看设备has FEATURE_WATCH。引用文档:

  

getSystemAvailableFeatures()和hasSystemFeature(String)的功能:这是一个专门用于在手表上显示UI的设备。这里的手表被定义为佩戴在身体上的装置,可能在手腕上。用户在与设备交互时非常接近。

但是,由于还有其他没有操作栏的情况(例如,电视应用),您可以考虑调用getActionBar()(针对原生操作栏)或getSupportActionBar()(针对appcompat-v7 1}}操作栏)并查看它是否返回null