对于 Radio 的初始化在前面的很多功能中,都会到 mRadioTuner 参数,获取 mRadioTuner 的过程其实就是对 tuner 的初始化。
一、功能实现
方法调用
private RadioTuner mRadioTuner;
private RadioTuner.Callback mRadioCallback;
if (mRadioTuner == null) {
mRadioTuner = openSession(mRadioCallback);
}
上面的方法是不是比较熟悉,出现在很多方法调用之前。
Tuner初始化
private List<RadioManager.ModuleProperties> mModules;
private RadioManager.FmBandDescriptor mFmDescriptor;
private RadioManager.AmBandDescriptor mAmDescriptor;
private static RadioManager.FmBandConfig sFmConfig;
private static RadioManager.AmBandConfig sAmConfig;
private RadioTuner openSession(RadioTuner.Callback callback) {
mModules = new ArrayList<>();
// 获取tuner模块的list,一般情况下,只有一个module。
int status = mRadioManager.listModules(mModules);
if (status != RadioManager.STATU