为什么Cordova插件媒体需要READ_PHONE_STATE权限?

teh*_*tro 6 android cordova cordova-plugins crosswalk

那么,为什么cordova-plugin-media添加了READ_PHONE_STATE权限?

我在Chromium https://chromiumcodereview.appspot.com/12480009/中找到了可能相关的提交.似乎MediiaPlayerListener.java放弃了对READ_PHONE_STATE权限的需求.

我们可以用cordova插件做同样的事情吗?谢谢.

teh*_*tro 5

我找到了答案。似乎cordova插件媒体正在侦听状态变化,例如ringingidle将音频静音。这些事件由cordova-android 平台本身通过侦听PhoneStateListener ( https://developer.android.com/reference/android/telephony/PhoneStateListener.html ) 事件发送。

显然,直到 Android API 22,这READ_PHONE_STATE需要许可。对于 API 23,不再需要权限。

这是一个关于 stackoverflow 的答案,指向 Android 中改变了这一点的提交。由于 Android 6.0 监听 PhoneStateListener.LISTEN_DATA_CONNECTION_STATE 更改似乎不再需要 READ_PHONE_STATE 权限