调用显示方法
/**
* 创建更新弹窗参数
* @param _context
* @param _achor
* @param _titleBgId - 弹窗抬头图片资源
* @param _h_dived_w - 弹窗抬头图片资源h/w
* @param _allColor - 弹窗主体颜色
* @param _bforce - 是否强制更新
* @param _updateMessage - 更新信息,多行换行
*/
public AppUpdate(Context _context, View _achor,
int _titleBgId, float _h_dived_w,
String _allColor, boolean _bforce,
String _updateMessage) {
}
/**
* 创建原生更新弹窗参数
*
* @param _context
* @param _achor
* @param _allColor - 弹窗主体颜色
* @param _bforce - 是否强制更新
* @param _title - 标题
* @param _updateMessage - 更新信息,多行换行
*/
public AppUpdate(Context _context, View _achor,
String _allColor, boolean _bforce,
String _title, String _updateMessage) {
}
/**
* 启动更新App
*
* @param _appUrl - apk下载地址
* @param _notifyIcon - 标题栏通知图标
* @param _fileProvider - 应用的fileProvider(下载和启动安装使用)
* @param _md5 - apk包的md5 - 防止重复下载
* @param _versionCode apk包的_versionCode - 防止重复下载
* @param _apkSize apk包的大小 - 防止重复下载
*/
public void startAppUpdate(final String _appUrl, final int _notifyIcon,
final String _fileProvider,
final String _md5, final int _versionCode, final long _apkSize) {
}
/**
* 启动原生(警告)a类弹窗更新App
*
* @param _appUrl - apk下载地址
* @param _fileProvider - 应用的fileProvider(下载和启动安装使用)
* @param _md5 - apk包的md5 - 防止重复下载
* @param _versionCode apk包的_versionCode - 防止重复下载
* @param _apkSize apk包的大小 - 防止重复下载
*/
public void startOriginaAppUpdate(final String _appUrl, final int _notifyIcon,
final String _fileProvider,
final String _md5, final int _versionCode, final long _apkSize) {
}
///< 设置更新弹窗样式+升级信息
AppUpdate appUpdate = new AppUpdate(this, view, R.drawable.update_bg_app_top, 204.0f / 450.0f,
"#FF5C5C", (new Random().nextInt(2)) == 1 ? true : false,
"1、新增皮皮虾板块\n" + "2、新增皮皮狗板块\n" + "3、新增皮皮你板块");
///< 开启更新,设置apk下载地址+通知栏图标+fileProvider直接启动安装+(md5、versionCode、apk大小)进行已经下载安装包的校验,防止重复下载
appUpdate.startAppUpdate("https://raw.githubusercontent.com/FanChael/CommonPopupWindow/master/doc/app-debug.apk",
R.drawable.share_circle,
"pop.hl.com.commonpopupwindow.fileProvider",
"6FA8D1B09B54580CA69FA7BF62D0C4A7", 1, 2978651);
///< 设置更新弹窗样式+升级信息
AppUpdate appUpdate2 = new AppUpdate(this, view,
null, (new Random().nextInt(2)) == 1 ? true : false,
"版本更新",
"1、新增皮皮虾板块\n" + "2、新增皮皮狗板块\n" + "3、新增皮皮你板块");
appUpdate2.startOriginaAppUpdate("https://raw.githubusercontent.com/FanChael/CommonPopupWindow/master/doc/app-debug.apk",
R.drawable.share_circle,
"pop.hl.com.commonpopupwindow.fileProvider",
"6FA8D1B09B54580CA69FA7BF62D0C4A7", 1, 2978651);
<!-- 网络+安装 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
<!-- 加入poplibrary库的下载服务 -->
<service
android:name="pop.hl.com.poplibrary.update.DownLoadIntentService"
android:enabled="true"
android:exported="true" />
<!-- FileProvider - pop.hl.com.commonpopupwindow替换为自己的包名-->
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="pop.hl.com.commonpopupwindow.fileProvider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
<?xml version="1.0" encoding="utf-8"?>
<paths>
<external-path path="Android/data/pop.hl.com.commonpopupwindow/" name="files_root" />
<external-path path="." name="external_storage_root" />
</paths>
图片的显示高度是根据传入的图片的比例(204/450 = 图片的高度/宽度)进行设置的,所以才不会变形
主体的颜色值建议与置顶的主题图片配色一致比较协调
AppUpdate的startAppUpdate方法的后三个参数(从后台获取,用作校验apk包)可以传null,-1,-1等,每次点击更新都重新下载;