Skip to content

Latest commit

 

History

History
127 lines (116 loc) · 5.81 KB

appupdate_guid.md

File metadata and controls

127 lines (116 loc) · 5.81 KB

API说明-提供调用类AppUpdate

调用显示方法

    /**
     *  创建更新弹窗参数
     * @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) {
           }

USE

        ///< 设置更新弹窗样式+升级信息
        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);

xml关键配置参考

        <!-- 网络+安装 -->
        <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>
file_paths.xml - pop.hl.com.commonpopupwindow替换为自己的包名
<?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>

特别说明

R.drawable.update_bg_app_top的样式(顶部部分透明)建议如下比较好看 方位展示

图片的显示高度是根据传入的图片的比例(204/450 = 图片的高度/宽度)进行设置的,所以才不会变形

主体的颜色值建议与置顶的主题图片配色一致比较协调

AppUpdate的startAppUpdate方法的后三个参数(从后台获取,用作校验apk包)可以传null,-1,-1等,每次点击更新都重新下载;