• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > Android:应用宝省流量更新

Android:应用宝省流量更新

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了android应用宝,android 跳转应用宝,应用宝下载送流量,大王卡应用宝免流量,应用宝免流量等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Android:应用宝省流量更新


应用宝省流量更新介绍

应用宝省流量更新(SDK),是应用宝提供给开发者轻松实现应用省流量更新的功能,可以帮助开发者缩短更新过程,提高应用下载量。在每次应用升级更新时,只需更新部分数据而无需下载完整大小的安装包,帮用户节省了流量,也大大提高了产品升级速度。


注册开发者

进入腾讯开放平台

点击移动应用,进入登录界面

移动应用

登录界面

使用QQ号码登录或注册新账号,登录后进入注册开发者界面,可选择注册为个人或公司开发者

注册界面


创建应用

注册成功后,进入管理中心,点击创建应用

管理中心

创建应用

填写应用信息,提交审核

提交审核


实现省流量更新

邮件申请渠道号

申请方法

申请示例

添加引用TMAssistantSDK_selfUpdate_201407240950

修改AndroidManifest.xml

添加服务

   
添加权限








 

添加检查更新代码

SoftwareUpgrade.java

软件升级管理对象

import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Handler;
import android.os.Looper;
import android.view.View;

import com.tencent.tmassistantsdk.common.TMAssistantDownloadSDKTaskState;
import com.tencent.tmassistantsdk.selfUpdateSDK.ITMSelfUpdateSDKListener;
import com.tencent.tmassistantsdk.selfUpdateSDK.TMSelfUpdateSDK;
import com.tencent.tmassistantsdk.selfUpdateSDK.TMSelfUpdateSDKUpdateInfo;

import java.text.DecimalFormat;


/**
 * 软件升级,利用应用宝的接口进行软件版本检查、软件升级
 */
public class SoftwareUpgrade {

    private Context ctx = null;

    private static final String TAG = "SoftwareUpgrade";

    /**
     * AppID,应用上线后获得
     */
    private static final long APP_ID = 0000000000;

    /**
     * 渠道ID,邮件申请省流量更新后获得
     */
    private static final String CHANNEL_ID = "0000000";

    /**
     * 省流量更新SDK
     */
    private TMSelfUpdateSDK sdk = null;
    /**
     * 线程操作对象
     */
    private Handler handler = null;

    /**
     * 是否需要提醒更新(自动检查更新时需要)
     */
    private boolean isNeedNotify = false;

    /**
     * 软件更新的信息
     */
    private SoftwareUpdateInfo updateInfo = null;
    public static SoftwareUpdateInfo getUpdateInfo() {
        if (instance != null) {
            return instance.updateInfo;
        }
        return null;
    }

    /**
     * 更新提示对话框
     */
    private UpgradeDialog updateDialog = null;

    /**
     * 单例模式
     */
    private static SoftwareUpgrade instance = null;

    public static SoftwareUpgrade getInstance() {
        if (instance == null) {
            instance = new SoftwareUpgrade();
        }
        if (instance.sdk == null) { // 初始化失败,无法使用自动更新功能
            instance = null;
        }
        return instance;
    }

    /**
     * 初始化检查更新(软件启动时调用)
     */
    private SoftwareUpgrade() {

        // 得到主线程的Looper实例
        Looper looper = Looper.getMainLooper();
        handler = new Handler(looper);

        try {
            sdk = TMSelfUpdateSDK.getInstance();
            sdk.initTMSelfUpdateSDK(App.getInstance().getApplicationContext()
                    , APP_ID, CHANNEL_ID, selfUpdateSDKListener);
        } catch (Exception ex) {
            sdk = null;
            LogUtil.d(TAG, "Init TMSelfUpdateSDK failed!");
        }
    }

    /**
     * 释放(退出软件时调用)
     */
    public static void release() {
        if (instance != null && instance.sdk != null) {
            instance.sdk.destroySelfUpdateSDK(instance.selfUpdateSDKListener);
            instance = null;
        }
    }

    /**
     * 检查软件是否需要更新(静默检查,不弹出提示对话框)
     */
    public static void checkNeedUpdate() {
        if (instance != null && instance.sdk != null) {
            instance.isNeedNotify = false;
            instance.sdk.checkNeedUpdate();
        }
    }

    /**
     * 检查软件是否需要更新(若有更新,则提醒用户更新)
     */
    public static void checkNeedUpdateNeedNotify(Context context) {
        if (instance != null && instance.sdk != null) {
            instance.ctx = context;
            instance.isNeedNotify = true;
            instance.sdk.checkNeedUpdate();
        }
    }

    /**
     * 开始省流量更新
     * 1、弹出更新信息对话框,询问用户是否更新
     * 2、若未安装应用宝,询问用户是否安装
     * 3、跳转到应用宝更新软件
     * @param ctx
     */
    public static void startSaveUpdate(final Context ctx) {
        if (instance != null && instance.sdk != null) {
            instance.updateDialog = new UpgradeDialog(ctx);
            instance.updateDialog.setVersion(instance.updateInfo.newVersion);
            instance.updateDialog.setUpdateContent(instance.updateInfo.updateContent);
            instance.updateDialog.setUpdateSize(instance.updateInfo.updateSize);

            instance.updateDialog.setUpdateButtonOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    try {
                        // 检查应用宝是否安装
                        int yybInstalled = instance.sdk.checkYYBInstalled();
                        if (yybInstalled == TMAssistantDownloadSDKTaskState.UN_INSTALLED) {
                            // 未安装应用宝,提示用户需要安装应用宝
                            DialogUtil.showWarnDialog(ctx,
                                    R.string.msg_no_yyb, new DialogInterface.OnClickListener() {
                                        @Override
                                        public void onClick(DialogInterface dialog, int which) {
                                            instance.sdk.startSaveUpdate(ctx);
                                        }
                                    });
                        } else {
                            // 打开应用宝更新
                            instance.sdk.startSaveUpdate(ctx);
                            instance.updateDialog.dismiss();
                        }
                    } catch (Exception e) {
                        LogUtil.e(e);
                    }
                }
            });
        }
    }

    /**
     * 省流量更新调用
     * 应用宝已经下载安装完毕,回到调用方的页面,调用方可以选择是否调用该方法,call起应用宝下载管理页去更新
     */
    public static void onResume() {
        if (instance != null &&



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Android:应用宝省流量更新

相关文章

  • 2017-05-26一步一步学ROP之Android ARM 32位篇
  • 2017-05-26谷歌电子市场1--BaseFragment,1--basefragment
  • 2017-05-26实现在矩形框中输入文字,可以显示剩余字数的功能,矩形字数
  • 2017-05-26Android TabHost使用,androidtabhost使用
  • 2017-10-15Android源码基础解析之Activity布局绘制流程
  • 2017-05-26手机无须ROOT不用修改hosts即可在本地测试安卓、苹果APP和H5应用,安卓h5
  • 2017-05-26Android搜索功能的案例,本地保存搜索历史记录
  • 2017-05-26详解Android微信登录与分享,详解android分享
  • 2017-05-26Git版本控制工具(一)----git的安装及创建版本库,git----git
  • 2017-05-26记一次流量异常处理

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 机顶盒上gridview+ScrollView的使用。,gridviewscrollview
    • 高通QCOM 8610平台电量计算
    • 强制DataNode向NameNode上报blocks
    • Unity编译时找不到AndroidSDK的问题 | Unable to list target platforms(转载),unityengine.ui找不到
    • Android Facebook和Twitter分享
    • Mac搭建Android开发环境,mac搭建android
    • 自定义控件详解(一):Paint类与Canvas类,paintcanvas
    • 回收ImageView占用的图像内存,imageview占用图像
    • Mac版 Android Studio快捷键大全,android快捷键大全
    • 开源插件 PullToRefresh: PullToRefreshListView / PullToRefreshGridView 实例详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有