@@ -71,7 +71,7 @@ AppUpdater 是一个轻量级开源库,专注于实现 App 版本更新功能
7171
7272### 使用说明
7373
74- ` app-dialog` 和 ` app-updater` 的使用方式简单直观,主要针对常见场景提供了丰富的预设配置。在充分保证灵活性的同时,尽可能的简化
74+ ** app-dialog** 和 ** app-updater** 的使用方式简单直观,主要针对常见场景提供了丰富的预设配置。在充分保证灵活性的同时,尽可能的简化
7575使用流程:你可以直接采用默认配置,也可以根据实际需求进行个性化调整,只需关注需要修改的配置即可。
7676
7777### 特别说明
@@ -82,15 +82,15 @@ AppUpdater 是一个轻量级开源库,专注于实现 App 版本更新功能
8282新版本在兼容 Java 调用的同时,显著提升了 Kotlin 环境下的使用体验。整体架构延续了 **1.x** 版本的设计思路,主要针对
8383接口定义与配置字段进行了部分优化与调整。
8484
85- > 如果你是从 **1.x** 版本升级至 **2.x**的,请注意版本间存在一些不兼容的变更。最新使用方式参考下方的使用说明。
85+ > 如果你是从 **1.x** 版本升级至 **2.x** 的,请注意版本间存在一些不兼容的变更。最新使用方式参考下方的使用说明。
8686
8787如果不想升级,也可以继续使用 **1.x** ;请查看 [**1.x分支**](https://github.com/jenly1314/AppUpdater/tree/1.x)
8888
8989---
9090
9191### 快速使用
9292
93- 如果没有特别需求,直接使用即可。(`AppUpdater`的默认配置,就是最推荐的配置。)
93+ 如果没有特别需求,直接使用即可。(因为 `AppUpdater`的默认配置,就是最推荐的配置。)
9494
9595```Java
9696// 一句代码,傻瓜式更新
@@ -111,6 +111,8 @@ AppDialogConfig appDialogConfig = new AppDialogConfig(context)
111111 AppDialog . dismissDialog();
112112 }
113113 });
114+
115+ // 显示对话框
114116AppDialog . showDialog(appDialogConfig);
115117```
116118
@@ -122,7 +124,7 @@ AppDialog.showDialog(appDialogConfig);
122124
123125以下是传统链式调用与 Kotlin DSL 调用的对比示例:
124126
125- #### 传统链式调用方式 (` Java ` 或 ` Kotlin ` )
127+ #### 传统链式调用方式 (Java 或 Kotlin)
126128
127129``` java
128130// 对话框常规使用示例
@@ -205,6 +207,8 @@ val appDialogConfig = appDialogConfig(context, R.layout.dialog_custom) {
205207 setText(id = R .id.tvContent, text = " 对话框内容" )
206208 }
207209}
210+
211+ // 显示对话框
208212AppDialog .showDialog(appDialogConfig)
209213```
210214
@@ -214,7 +218,7 @@ AppDialog.showDialog(appDialogConfig)
214218
215219以下是传统链式调用与 Kotlin DSL 调用的对比示例:
216220
217- #### 传统链式调用方式 (` Java ` 或 ` Kotlin ` )
221+ #### 传统链式调用方式 (Java 或 Kotlin)
218222
219223``` java
220224// AppUpdater相关配置示例(配置项除了url必填,其他配置项都可使用默认的)
@@ -255,6 +259,7 @@ AppUpdater appUpdater = new AppUpdater.Builder(context)
255259 // 下载取消
256260 }
257261 }). build();
262+
258263// 开始下载更新
259264appUpdater. start();
260265```
@@ -297,6 +302,7 @@ val appUpdater = appUpdater(conetxt) {
297302 }
298303 }
299304}
305+
300306// 开始下载更新
301307appUpdater.start()
302308```
@@ -335,11 +341,13 @@ val appDialogConfig = AppDialogConfig(context)
335341 // 下载成功
336342 }
337343 }).build()
344+
338345 // 开始下载更新
339346 appUpdater.start()
340347
341348 AppDialog .dismissDialog()
342349 }
350+
343351// 显示对话框
344352AppDialog .showDialog(appDialogConfig)
345353
@@ -352,7 +360,7 @@ AppDialog.showDialog(appDialogConfig)
352360#### app-updater
353361
354362* 不设置 ** HttpManager** 时,默认使用 ** HttpsURLConnection** 实现的 ** HttpManager** 进行下载,如果想要使用 ** OkHttpClient** 实现下载,需依赖 ** okhttp** 库;(内部默认提供 ** HttpManager** 和 ** OkHttpManager** 两种实现)
355- * 支持下载APK时,优先取本地缓存策略,避免多次重复下载相同的APK文件;(校验方式支持文件的 ** MD5** 或 ** VersionCode** )
363+ * 支持下载APK时,优先取本地缓存策略,避免多次重复下载相同的APK文件;(校验方式支持文件的 ** MD5** 或 ** VersionCode** )
356364* 如需自定义更新App时通知栏中的相关文案信息;你只需在 ** string.xml** 定义相同的名字进行覆盖即可( ** app-updater** 中的资源定义都是以 ** app_updater** 开头)。
357365* 不设置 ** INotificationHandler** 时,默认使用 ** NotificationHandler** 实现的,如果当前的通知栏的布局不满足你的需求,可通过参考 ** NotificationHandler** 去自定义实现一个 ** INotificationHandler** ;
358366* ** AppUpdater** 的更多配置说明直接查看 ** AppUpdaterConfig** 即可,每一项配置都有详细的注释说明。
@@ -365,7 +373,7 @@ AppDialog.showDialog(appDialogConfig)
365373
366374#### 适配 ** Android 13**
367375
368- 对于Android 13以上版本,需要动态授权发送通知权限后才能正常发送通知。( ` android.permission.POST_NOTIFICATIONS ` )
376+ 对于Android 13以上版本,需要动态授权发送通知权限后才能正常发送通知。
369377
370378> 虽然没有通知栏权限,并不影响App下载,但如果想在通知栏看到App的下载进度的话,最好还是在下载前申请一下;这样用户体验会好很多。
371379
@@ -382,16 +390,19 @@ private val requestPermissionLauncher = registerForActivityResult(ActivityResult
382390 }
383391}
384392
385- // ... 发送通知权限动态授权
393+ // ...
394+
395+ // 适配Android 13以上版本,发送通知权限
386396if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .TIRAMISU ) {
387- // 适配Android 13以上版本,发送通知权限
397+
388398 val permission = Manifest .permission.POST_NOTIFICATIONS
389- if (! PermissionUtils .checkPermission(this , permission)) {
390- // 如果没有发送通知权限,则申请授权
391- requestPermissionLauncher.launch(permission)
392- } else {
399+ // 检测是否有 android.permission.POST_NOTIFICATIONS 权限
400+ if (PermissionUtils .checkPermission(this , permission)) {
393401 // TODO 开始下载更新
394402 AppUpdater (this , apkUrl).start()
403+ } else {
404+ // 如果没有发送通知权限,则申请授权
405+ requestPermissionLauncher.launch(permission)
395406 }
396407}
397408
0 commit comments