phoneListener

来自于:APICloud立即使用

概述

phoneListener 模块用于监听手机事件。支持的事件有: 耳机插拔,静音状态和通话状态。耳机插拔事件,在耳机插入或拔出时触发。静音事件,在用户开启或关闭手机静音时触发。 通话状态事件,在等待接听来电,接通或通话挂断时触发。

因系统差异,若模块需要在后台播放,iOS需配置以下信息:

  • 名称:backgroundMode
  • 取值范围:

    1.audio:在后台播放和录制音频,包括使用AirPlay播放音频、视频流

    2.location:在后台持续获取位置信息

    3.voip:网络电话

    4.newsstand-content:报刊杂志类应用在后台下载内

    5.external-accessory:与定期更新的硬件外设工作

    6.bluetooth-central:与定期更新的蓝牙配件工作

    7.bluetooth-peripheral:作为蓝牙外设,进行蓝牙通信

    8.fetch:定期下载少量的内容

    9.remote-notification:希望在收到通知后立即去下载相关内容,使相关内容可以尽快显示出来

  • 描述:用于配置iOS后台运行,配置后可以实现后台播放音乐、获取位置信息等功能。云编译有效。

不要随意配置后台运行,因为后台运行的同时也会带来电池续航的问题,苹果公司规定应用使用了后台运行时,必须要在iTunes Connect里应用的描述里面进行声明,否则应用会被拒绝。具体可以参考其他应用如百度地图里面的描述。

  • 配置示例:
//配置一个值:
<preference name="backgroundMode" value="audio"/>

//配置多个值,各值之间用竖线 | 隔开:
<preference name="backgroundMode" value="audio | location"/>

headphonePluggedListener

监听耳机插拔事件

headphonePluggedListener({params}, callback(ret, err))

params

enable:

  • 类型:布尔
  • 描述:(可选项)是否启动耳机插拔事件监听
  • 默认:true

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    state: true        //布尔类型;true耳机插入,false耳机拔出

}

示例代码

var phoneListener = api.require('phoneListener');
phoneListener.headphonePluggedListener({
        enable : false
    },
    function(ret) {
     alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

ringerModeSilentListener

监听静音事件

ringerModeSilentListener({params}, callback(ret, err))

params

enable:

  • 类型:布尔
  • 描述:(可选项)是否启动静音事件监听
  • 默认:true

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true        //布尔类型;true 静音

}

示例代码

var phoneListener = api.require('phoneListener');
phoneListener.ringerModeSilentListener({
        enable : false
    },
    function(ret) {
     alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

callStateListener

监听电话事件

callStateListener({params}, callback(ret, err))

params

enable:

  • 类型:布尔
  • 描述:(可选项)是否启动电话事件监听
  • 默认:true

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    state: IDLE        //字符串类型;IDLE 挂断;OFFHOOK 接通电话;RINGING 来电
}

示例代码

var phoneListener = api.require('phoneListener');
phoneListener.callStateListener({
        enable : false
    },
    function(ret) {
     alert(JSON.stringify(ret));
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本