[DESCRIPTION]
如何打開/關閉RDS
[SOLUTION]
目前沒有宏來切換RDS的開啓與關閉,若是須要修改的話必須經過修改代碼來完成。具體以下:
一、Fmradioservice在啓動過程當中會調用isRDSSupported()從而調用native 層的isRDSsupport()來獲取RDS的開關狀
態,以下代碼片斷:
public boolean isRDSSupported() {
boolean isRDSSupported = (FMRadioNative.isRDSsupport() == 1);
LogUtils.d(TAG, "FMRadioService.isRDSSupported: " + isRDSSupported);
return isRDSSupported;
}直接修改上層APK上的接口isRDSSupported便可。
二、Natvie 層isRDSsupport()會調用drivr端的設定,以下:
case FM_IOCTL_RDS_SUPPORT: {
fm_s32 support = FM_RDS_ENABLE;
WCN_DBG(FM_NTC | MAIN, "FM_IOCTL_RDS_SUPPORT\n");
if (copy_to_user((void*)arg, &support, sizeof(fm_s32))) {
ret = -EFAULT;
goto out;
}
break;
由上面這段代碼能夠看到driver端默認RDS爲打開狀態。
經過以上的描述能夠看到,打開/關閉 RDS有兩種方式:
方法一:在Fmradioservice --> isRDSSupported 中直接將變量isRDSSupported值修改掉。0:關閉RDS,1:打開RDS
方法二: 修改driver端的設定,即native層將case FM_IOCTL_RDS_SUPPORT中fm_s32 support = FM_RDS_ENABLE值改掉
, 0:關閉RDS, 1:打開RDShtml
歡迎評論ios