安卓APP在线升级

通过IDHTTP组件在线下载APP到手机中,然后自动安装这个APP程序。

1)在线下载APP程序

需引用单元:

{$IFDEF ANDROID}
FMX.Helpers.Android, Androidapi.JNI.GraphicsContentViewText,
Androidapi.JNI.Net, Androidapi.JNI.JavaTypes;
{IFDEF}
procedure TForm1.Button2Click(Sender: TObject);
var
caminho_d: string;
MyFile: TFileStream;
begin
//verifica se ja existe para apagar e criar novamente
if FileExists(GetSharedDownloadsDir+’/PJMOBILE.apk’) then
DeleteFile(GetSharedDownloadsDir+’/PJMOBILE.apk’);
// definir o link
caminho_d:= ‘http://susite.com.br/download/APP.apk‘; // aqui defini um caminho pard鉶 pro download , pode ser trocado por um edit, etc
MyFile := TFileStream.Create(GetSharedDownloadsDir+’/APP.apk’, fmCreate); // local no celular e nome do arquivo com a extens鉶, onde vai salvar.
try
IdHTTP1.Get(caminho_d, MyFile); // fazendo o download do arquivo e salva no celular
finally
MyFile.Free;
end;
end;
procedure TForm1.IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode;
AWorkCount: Int64);
begin
ProgressBar1.value := AWorkCount;
Application.ProcessMessages;
end;
procedure TForm1.IdHTTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode;
AWorkCountMax: Int64);
begin
ProgressBar1.value := 0;
ProgressBar1.Max := AWorkCountMax;
Label1.Text := ‘开始下载’;
end;
procedure TForm1.IdHTTP1WorkEnd(ASender: TObject; AWorkMode: TWorkMode);
begin
ProgressBar1.Value := ProgressBar1.Max;
Label1.text := ‘下载完成’;
end;

  

2)安装下载的APK

procedure TForm1.Button1Click(Sender: TObject);
var
aFile:Jfile;
Intent:JIntent;
begin
aFile:=TJfile.JavaClass.init(stringtojstring(GetSharedDownloadsDir),stringtojstring(‘APP.apk’));
Intent := TJIntent.Create ;
Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
Intent.addFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);
Intent.setDataAndType(TJnet_Uri.JavaClass.fromFile(aFile),StringToJString(‘application/vnd.android.package-archive’));
SharedActivityContext.startActivity(Intent);
end;

  

安卓APP在线升级的更多相关文章

  1. 安卓App自动升级

    procedure _InstallApk(Apk: string); var LFile: JFile; LIntent: JIntent; begin LFile := TJFile.JavaCl ...

  2. android 在线升级借助开源中国App源码

    android 在线升级借助开源中国App源码 http://www.cnblogs.com/luomingui/p/3949429.html android 在线升级借助开源中国App源码分析如下: ...

  3. 在线生成安卓APP图标

    移动应用图标/启动图生成工具,一键生成所有尺寸的应用图标/启动图 在线生成安卓APP图标生成 图标在 线 在线图标 安卓图标 生成图标 https://icon.wuruihong.com/ 在线pn ...

  4. 安卓APP测试验证点总结

    最近较懒,加之闺女出生后记忆没完全恢复,总是忘东忘西,关于安卓APP测试的验证点还是总结一下,方便设计测试用例时查阅,也给各位博友参考! 1.除APP的正常功能点外,还有以下验证点: 安装/卸载(考虑 ...

  5. 安卓app设计规范整理和Android APP设计篇(转)

    随着安卓智能手机不停的更新换代.安卓手机系统越来越完美,屏幕尺寸也越来越大啦!比如最近小米的miui 6的发布和魅族手机系统的更新等等. 以小米MIUI6的安卓手机来说,MIUI6进行了全新设计,坚持 ...

  6. 利用mtd工具实现嵌入式设备在线升级

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   主要思路是:通过web post方式将升级文件交给CGI程序处理,然后通过mtd工具实现设备在线升级. 1.页面部分 & ...

  7. 仿春雨医生 安卓app(android)

    仿春雨医生 安卓app(android) 目前APP处与开发完善中,可过程序自下载更新,如有BUG报错,请联系QQ 131 065 1206 支持安卓(android) .IOS(IPHONE),PA ...

  8. 百度Web App在线生成平台Site App体验

    最近收到百度开发者中心邮件,告知之前的百度移动建站服务已经升级为Site App了,Site  App顾名思义是可以创建APP的站点,之前想建立一个APP要么是自己制作,要么是选用国外的在线Web A ...

  9. 安卓---app自动更新

    主要参考:http://blog.csdn.net/jdsjlzx/article/details/46356013/ 效果如下: 大致思路:[原文] 首先,我们要有一个可以被手机访问的后台. 这里有 ...

随机推荐

  1. 解决mysql登录警告问题

    一.前言 我们在登录mysql的时候经常会看到一句警告: Warning: Using a password on the command line interface can be insecure ...

  2. springboot系列(七) 项目热加载

    spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用. devtool ...

  3. java - day016 - IO续(输入输出), 手写双向链表

    课程回顾 对象的创建过程 类加载 加载父类,父类的静态变量分配内存 加载子类,子类的静态变量分配内存 父类静态变量赋值运算, 和静态初始化块 子类静态变量赋值运算, 和子类初始化块 创建对象 创建父类 ...

  4. DNS服务——域名解析转发 和 条件转发

    前言 有一台Linux机器作为DNS服务器,查看这台机器上的DNS文件,发现指向互联网上的DNS服务器. [root@ziqiang named]# cat /etc/resolv.conf # Ge ...

  5. Linux命令——ulimit

    参考:https://www.cnblogs.com/kongzhongqijing/p/5784293.html

  6. AD 复制状态检查

      微软提供了一下工具进行AD复制状态检查 Repadmin: http://technet.microsoft.com/en-us/library/cc811551%28v=ws.10%29.asp ...

  7. 基于Java+Selenium的WebUI自动化测试框架(九)-----基础页面类(BasePage)

    上篇我们写了java读取xml文件的类,实现了可以从xml文件读取元素的方式.那么,接下来我们需要考虑一个问题.我们拿了这些元素之后怎么去操作呢? 先来看看我们手工测试的时候是怎么进行的. 双击浏览器 ...

  8. Maven创建本地仓库

    1:创建仓库目录 在D盘Program Files目录下创建repository目录 2:修改settings.xml ​ ​ D:\ProgramFiles\repository  是我们创建的本地 ...

  9. linux网络编程之socket编程(十)

    今天继续socket编程的学习,最近晚上睡觉都没有发热,没有暖气的日子还是种煎熬,快乐的十一也已经走来,幸福有暖气的日子也快啦,好了,回到正题~ ①close终止了数据传送的两个方向. ②shutdo ...

  10. k8s的组件

    1.Master组件 1.API Server K8S对外的唯一接口,提供HTTP/HTTPS RESTful API,即kubernetes API.所有的请求都需要经过这个接口进行通信.主要负责接 ...