开发

小程序二维码能力说明

功能说明

调起宿主扫码界面,扫码成功后返回对应的结果,具体可参考 智能小程序开发文档-扫码

原理

小程序调用 swan.scanCode API时,跳转到二维码扫描界面,二维码扫描结果返回给调起的小程序

实现

接口:ISwanAppScanCode

1
2
3
4
5
6
7
8
9
10
11
public interface ISwanAppScanCode {

/**
* 调起客户端扫码界面,扫码成功后返回对应的结果
* 对应swan.scanCode() 的实现,详情可参考:https://smartprogram.baidu.com/docs/develop/api/device_scan/#scanCode/
*
* @param context 上下文
* @param callback 扫码结果回调
*/
void scanCode(Context context, IScanResultCallback callback);
}

IScanResultCallback说明

回调定义:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public interface IScanResultCallback {

/**
* 扫码成功
*
* @param result 扫码的结果
* @param scanType 扫码的类型
* 二维码(QR_CODE、DATA_MATRIX、PDF_417等类型)
* 一维码(EAN、UPC、CODE_39、CODE_128等类型)
* @param charSet 扫码的字符集,示例:GBK
*/
void onSuccess(String result, String scanType, String charSet);

/**
* 扫码失败
*/
void onFailed();
}

宿主需要在 ISwanAppScanCode#scanCode(Context, IScanResultCallback) 的实现中,跳转到扫码页面,扫描成功后,通过 IScanResultCallback 对应方法回传结果

该能力指小程序内部的扫码能力,不是接入app的扫码能力