首先我们需要往项目的build.gradle文件中导入我们空中升级所需要的第三方包:
compile 'no.nordicsemi.android:dfu:1.3.1'
如果是发布版的请添加反编译代码
-keep class no.nordicsemi.android.dfu.** { *; }
然后 注册 DfuServiceListenerHelper
@Override protected void onResume() { //取消监听升级回调 DfuServiceListenerHelper.registerProgressListener(this, dfuProgressListener); super.onResume(); } //取消注册
@Override protected void onPause() { super.onPause(); DfuServiceListenerHelper.unregisterProgressListener(this, dfuProgressListener); } // 这个函数是 开始升级的可以根据自己的业务来处理调用private void startUpgrade(String mac) { new DfuServiceInitiator(mac) .setDisableNotification(true) .setKeepBond(true) .setZip(downloadPath) .start(PCRepairActivity.this, DfuService.class); }
//空中升级时的监听