Java Android Wear detect“;“静音”;

Java Android Wear detect“;“静音”;,java,android,wear-os,Java,Android,Wear Os,应用程序如何检查Android Wear设备的“静音”状态 无论发生什么情况,所有卷似乎都不是0 Log.d("VOLUME - STREAM_SYSTEM", Integer.toString(audioManager.getStreamVolume(AudioManager.STREAM_SYSTEM))); Log.d("VOLUME - STREAM_NOTIFICATION", Integer.toString(audioManager.getStreamVolume(AudioMan

应用程序如何检查Android Wear设备的“静音”状态

无论发生什么情况,所有卷似乎都不是0

Log.d("VOLUME - STREAM_SYSTEM", Integer.toString(audioManager.getStreamVolume(AudioManager.STREAM_SYSTEM)));
Log.d("VOLUME - STREAM_NOTIFICATION", Integer.toString(audioManager.getStreamVolume(AudioManager.STREAM_NOTIFICATION)));
Log.d("VOLUME - STREAM_RING", Integer.toString(audioManager.getStreamVolume(AudioManager.STREAM_RING)));
给我

D/VOLUME - STREAM_SYSTEM(32598): 0
D/VOLUME - STREAM_NOTIFICATION(32598): 0
D/VOLUME - STREAM_RING(32598): 0

你试过这些吗?看起来你在寻找Android Wear中不存在的音量

不幸的是,据我所知,谷歌目前还不适合向我们这些低级的开发者透露这一点

多亏了我一个朋友的研究,我找到了这段代码

public static boolean inZenMode(Context paramContext)
  {
    return paramContext.getSharedPreferences("home_preferences", 0).getBoolean("in_zen_mode", false);
  }

Zen模式是Google称之为静音状态的模式,目前您只能通过直接读取该文件来使用root访问该值。希望在不久的将来有一个更新,谷歌将向我们展示这个价值。

我已经尝试过了——不起作用。getRingerMode()始终返回0.Ah。那我现在完全没有想法了。我撒谎,完全没有想法。它可能没有使用这些。手机上可能有一个侦听器服务,它简单地说
if(mute)return或者什么的。你可能需要跳出框框,多想想;禁用/取消禁用可穿戴设备和手机时,请查看日志。有很多可穿戴日志,所以你可能可以从中找到解决方案。我不是OP,但我对解决方案也很好奇(不是使用它,只是好奇:)。我已经测试了很多检测它的方法。我已经测试了电话的监听状态,检查了API 20的差异,但到目前为止没有发现任何东西。logcat上没有关于磨损的日志,手机上也没有相关(IMO)日志。我看了手机和设备上的日志,我想这一定是一些还没有被曝光的东西:'(谷歌现在在这里发布了Wear的源代码:我对Android的源代码不太熟悉,无法追踪到这一点;还有其他人接受挑战吗?Wear 5.0.1有一定的能力!SDK示例Watchface有一种方法可以检测到它。查找WatchFaceService.Interrupt\u FILTER\u NoneWear 4.4W2支持通过蓝牙h直接播放音频eadset。所以现在必须有一个音量控制?我看到你的帖子是2014年7月15日-你可能想重新访问这些值…Wear 5.0.1有一些功能!SDK示例Watchface有一种方法可以检测到它。查找WatchFaceService.INTERRUPTION\u FILTER\u NONE