分享

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

 quasiceo 2016-01-20
本文章介绍了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:///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;


当下在完成后,点击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;

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多