前回の記事ではステーションのリストを分析しましたが、結局得られるのは固定のステーションのリストばかりなので、スキャンして得られる利用可能なステーションのリストを取得するにはどうすればよいですか。ここでは、ラジオスキャンのプロセスを分析します。
1. ラジオスキャン
1. スキャンインターフェイス
同様に、RadioTuner に移動して、Radio のスキャン インターフェイスを見つけます。
ラジオチューナー
ソースの場所: /frameworks/base/core/java/android/hardware/radio/RadioTuner.java
/**
* 启动后台扫描以更新内部缓存的程序列表
*
* 可能没有必要显式地启动扫描-扫描可以在引导时执行
*
* 该操作是异步的,如果该调用的返回值为true,则将调用Callback.backgroundScanComplete或onError。作为这个调用的结果,programListChanged可能会被触发(如果扫描的列表不同)。
*
* @return 如果扫描计划正确,则返回true,如果扫描功能不可用,则返回false;暂时由于单调谐器设备中正在进行的前景播放或永久如果不支持该功能
*/
public abstract boolean startBackgroundScan();
チューナーアダプター
ソースの場所: /frameworks/base/core/java/android/hardware/radio/TunerAdapter.java
private final ITuner mTuner;
@Override
public boolean startBackgroundScan() {
try {
return mTuner.startBackgroundScan();
} catch (