Android Radio实战——取消操作(十七)

        在搜索、调辐、调频等操作时,如果时间较长,用户通常会放弃本次操作,这是就需要取消之前的 tuner 操作,这就需要用到取消功能。

一、功能实现

方法封装

private RadioTuner mRadioTuner;

/**
 * 取消操作
 */
public void setRadioCancel(boolean tag) {
    if (mRadioTuner == null) {
        mRadioTuner = openSession(mRadioCallback);
    }
    mRadioTuner.cancel();
}

        在封装的方法中直接调用 RadioTuner 中的 cancel() 方法。

二、源码分析

1、取消操作

RadioTuner.cancel

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

/**
 * 取消挂起的扫描或调优操作
 * 如果一个操作正在等待,Callback onError()将被调用#ERROR_CANCELLED
 * @return
 * RadioManager#STATUS_OK 成功
 * RadioManager#STATUS_ERROR 未知错误
 * RadioManager#STATUS_NO_INIT 无法访问本机服务
 * RadioManager#STATUS_BAD_VALUE 参数无效
 * RadioManager#STATUS_INVALID_OPERATION 调用无序
 * RadioManager#STATUS_DEAD_OBJECT 绑定到本地服务的事务失败
 */
public abstract int can

Guess you like

Origin blog.csdn.net/c19344881x/article/details/131203058