如何使用Cordova获取设备的振铃状态/静音状态?

Ame*_*mza 6 javascript android ios ionic-framework cordova-plugins

我正在使用Ionic和Cordova开发移动应用程序,并希望基于设备播放声音Ringer Mode status.

有什么方法可以让我知道设备铃声模式状态:

vibration
silent
normal
Run Code Online (Sandbox Code Playgroud)

我在这里找到了一个Android的例子.

Dex*_*ter 2

我能找到的唯一插件就是这个,而且它仅适用于 iOS。我自己还没有测试过,所以如果你对iOS感兴趣的话我建议你看一下。

不幸的是我没能找到任何适用于 Android 的东西。因此,我将此视为一个很好的机会来研究创建自己的 Cordova 插件。我还没有对它进行广泛的测试,它只适用于 Android,但我认为它可以作为您和其他人的起点。

您可以在此处找到存储库。请随意分叉或为现有存储库做出贡献。可以通过运行以下命令来安装该插件:cordova plugin add https://github.com/RasimKanca/cordova-plugin-ringermode.git。你可以像这样使用它:

plugins.ringerMode.getRingerMode(function(ringerMode) {
      console.log("The current ringerMode is:" + ringerMode);
});
Run Code Online (Sandbox Code Playgroud)

此方法将返回以下三个选项之一:RINGER_MODE_VIBRATERINGER_MODE_NORMALRINGER_MODE_SILENT

我考虑对 iOS 进行同样的操作,但是似乎没有一种官方方法可以检测 iOS 上的铃声状态,如此处和此处所述。如果有人可以阐明如何在 iOS 上实现这一点,请随时发表评论,我很乐意将其添加到插件中。