Android Radio实战——自动搜索(十六)

        通过前面的文章发现一个问题,有时我们很需要这样的一个功能,就是搜索当前位置所有可用电台的列表。但是并没有该方法,startBackgroundScan() 方法扫描的是一个固定列表,scan() 方法只是获取上一个或下一个电台信息,都不满足我们最需要的需求。这一篇我们就尝试一下,能不能通过现有方法实现上述功能。

一、自动搜索

        思路:通过不断调用 scan() 方法,实现自动搜索。并将 scan() 的扫描结果存入到电台列表中,实现可用电台列表的保存。

方法封装

        首先我们创建一个供 APP 调用的接口 startRadioAutosSeek()。

private RadioTuner mRadioTuner;

/**
 * 开始自动搜索
 */
public void startRadioAutosSeek() {
    synchronized (mLock) {
        Log.i(TAG, "CONTROL_ACTION_SEEKUP mLock");
        if (mRadioTuner == null) {
            mRadioTuner = openSession(mRadioCallback);
        }
        // 设置静音
        mRadioTuner.setMute(true);
        // 开始自动搜索
        mRadioTuner.startAutosSeek(RadioTuner.DIRECTION_UP, true);
    }    
}

RadioTuner

源码位置:/frameworks/base/core/java/android/hardware/radio/RadioTuner.java

   

猜你喜欢

转载自blog.csdn.net/c19344881x/article/details/130827210
今日推荐