Android蓝牙SDK集成文档 V1.1
一.简述
锦浪云近端调试SDK是集成锦浪逆变器近端调试功能的开发者工具。SDK不仅提供易用、稳定、统一的接口,而且提供可换肤的UI界面。开发者可根据自己的业务实现蓝牙近端调试相关功能。
二.Android蓝牙SDK集成
2.1 SDK接入
2.1.1 开发环境
- Android Studio 3.0以上
- Android minSdkVersion:21
- Gradle:4.4以上
2.1.2 配置信息
- 联系锦浪官方获取 SDK 对应的 aar 包
- 把 aar 包拷贝到项目工程 app/lib 目录下
- 在 app/build.gradle 文件中添加 SDK 组件依赖,如下所示
dependencies {
implementation fileTree(dir: 'libs', include: ['*.aar'])
}
2.1.3 初始化
在自定义Application类的onCreate()中初始化蓝牙SDK,如下图所示
appKey(必填):SDK调用方在锦浪云平台获取的密钥
语言(可选):使用枚举类型 GlLanguage,默认英文。当前支持语言包括(括号内为对应枚举):中文(CHINESE)、英文(ENGLISH)、西班牙(SPAIN)、波兰(POLAND)、德语(GERMAN)、法语(FRENCH)、韩语(KOREAN)、荷兰语(DUTCH)、葡萄牙(PORTUGAL)、意大利语(ITALIAN)、乌克兰语(UKRAINIAN)、瑞典语(SWEDISH)、越南语(VIETNAMESE)、泰语(THAI)、乌尔都语(URDU)、阿拉伯语(ARABIC)、土耳其语(TURKISH)、捷克语(CZECH)、波斯尼亚语(BOSNIAN)。
主题色(可选):必须传入RGB的16进制值
class GlBleApp: Application() {
override fun onCreate() {
super.onCreate()
// Initialize SDK
GlConfig.ConfigBuilder()
.setAppKey("xxx") // set appKey
.setApiKey("xxx") // set apiKey
.setApiSecret("xxx") // set apiSecret
.setLanguage(GlLanguage.CHINESE) // set sdk language
.setMainColor("#FFFFFF") // default color is white
.init(this)
}
}
public class TestApp extends Application {
@Override
public void onCreate() {
super.onCreate();
new GlConfig.ConfigBuilder()
.setAppKey("xxx")
.setApiKey("xxx")
.setApiSecret("xxx")
.setLanguage(GlLanguage.CHINESE)
.setMainColor("#FFFFFF")
.init(this);
}
}
2.1.4 敏感权限接入
目前市面上的Android手机基本上都是Android6.0以上的,所以在进入蓝牙设备扫描页之前,必须要申请蓝牙操作需要的如下
敏感权限:
权限 | 用途 |
---|---|
ACCESS_FINE_LOCATION | 使用蓝牙需申请此权限 |
BLUETOOTH_SCAN | 12中新加入权限,扫描蓝牙需要此权限 |
BLUETOOTH_CONNECT | 12中新加入权限,连接蓝牙需要此权限 |
一般权限:
权限 | 用途 |
---|---|
INTERNET | 允许使用互联网权限 |
ACCESS_INTERNET_STATE | 提供有关网络信息 |
BLUETOOTH | 蓝牙权限 |
BLUETOOTH_ADMIN | 发现本地蓝牙设备权限与BLUETOOTH配套使用 |
2.1.5 进入蓝牙扫描页
申请完权限后即可跳转至蓝牙设备扫描页,页面名称为:BleConnectActivity。
2.1.6 接入成功截图
如果在蓝牙设备扫描页能看到需要连接的蓝牙设备名称(如下图所示),至此您已完整集成了蓝牙近端SDK。
2.2 API使用
2.2.1 设置密钥
SDK调用方在锦浪云平台获取的密钥,调用方式:
.setAppKey(“XXX”)
2.2.2 设置颜色
主题色(可选):必须传入RGB的16进制值。
.setMainColor(“#FFFFFF”)
按钮颜色设置(可选):必须传入RGB的16进制值
.setBtnColor(“#FFFFFF”)
2.2.3 设置语言
当前支持语言包括(括号内为对应枚举): 中文(CHINESE)、英文(ENGLISH)、西班牙(SPAIN)、波兰(波兰)、德语(GERMAN)、法语(FRENCH)、韩语(KOREAN)、荷兰语(DUTCH)、葡萄牙(PORTUGAL)、意大利语(ITALIAN)、乌克兰语(UKRAINIAN)、瑞典语(SWEDISH)、越南语(VIETNAMESE)、泰语(THAI)、乌尔都语(URDU)、阿拉伯语(ARABIC)、土耳其语(TURKISH)、捷克语(CZECH)、波斯尼亚语(BOSNIAN)
2.2.4 设置ApiKey和ApiSecret
采集器配网必须设置apiKey,apiSecret,adapterType
.setApiKey("xxx") //xxx填入官方提供的API key
.setApiSecret("xxx") //xxx填入官方提供的API Secret
.setAdapterType("1") //配网必须设置此项,不设置默认进入采集器详情页
new GlConfig
.ConfigBuilder()
.setAppKey("xxx")
.setLanguage(GlLanguage.CHINESE)
.setMainColor("#FFFFFF")
.setApiKey("xxx")
.setApiSecret("xxx")
.setAdapterType("1")
.init(this);`
2.2.5 采集器配网SN号获取与清除
获取SN:
任意位置直接获取
new GlConfig.ConfigBuilder().getCollSn();
GlConfig.ConfigBuilder().getCollSn()
初始化回调获取
GlConfig.ConfigBuilder()
.setAppKey("xxx") // set appKey
.setApiKey("xxx") // set apiKey
.setApiSecret("xxx") // set apiSecret
.setLanguage(GlLanguage.CHINESE) // set sdk language
.setMainColor("#FFFFFF") // default color is white
.setAdapterType("1")
.setSnCallback(object : GlConfig.ConfigBuilder.SnCallback {
override fun onReceiveSn(
sn: String?, // SN number returned after network distribution is completed
finishAllBlock: () -> Unit // Destroy all pages. When you need to destroy them, call finishAllBlock.invoke() directly.
) {
}
})
.init(this)
回调中如果调用 finishAllBlock.invoke() 会在配网成功后销毁所有SDK的页面,不调用则回到“附近的设备”页,默认回到“附近的设备”页
new GlConfig.ConfigBuilder().clearSn()
2.2.6 蓝牙配网(默认关闭)
.setAdapterType("1") //配网必须设置此项,不设置默认进入采集器详情页
2.2.7 运行环境设置(默认国际环境)
使用枚举类型:GlRunEnv.SDK_RUN_ENV_INTERNATION(国际环境)、GlRunEnv.SDK_RUN_ENV_DOMESTIC(国内环境)
.setSDKRunEnv(GlRunEnv.SDK_RUN_ENV_INTERNATION)
2.3 蓝牙配网操作说明
步骤1:打开蓝牙列表
步骤2:进入配网页面
步骤3:点击配置
步骤4:配置完成
2.4 注意事项
需要在真机上运行,使用模拟器编译时会出现报错
需要在APP隐私协议中声明相对应的隐私权限使用说明