Delphi XE7 android 实现的在线更新APP的一个程序


本文整理自网络,侵删。

 介绍

本文章介绍了Delphi XE7实现的在线更新APP的一个程序,该程序通过IDHTTP组件在线下载APP到手机中,然后自动安装这个APP程序。

程序首先点击DownLoad APP按钮,实现在线下载APP程序

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?o 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?o, 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;


当下在完成后,点击Atualiza APP按钮,ANdroid会提示是否安装该APP,如果安装,那么就进行新的APP的更新覆盖
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;

相关阅读 >>

Delphi tedit 编辑框 中文使用说明

indy tidtcpclient 在网络掉线时的处理方法

Delphi 获取当前系统版本号

Delphi获得某个磁盘或是文件夹的所有子目录

delph控制台(console)程序添加图标和版权信息

Delphi datasnap清除僵死连接

Delphi 动态设置屏幕分辨率

Delphi opentextfiledialog用法

Delphi 构建时间 -encodedatetime … tryencodedatetime

Delphi string转换成tstrings

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...