本文整理自网络,侵删。
安卓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);varcaminho_d: string;MyFile: TFileStream;begin//verifica se ja existe para apagar e criar novamenteif FileExists(GetSharedDownloadsDir+’/PJMOBILE.apk’) thenDeleteFile(GetSharedDownloadsDir+’/PJMOBILE.apk’);// definir o linkcaminho_d:= ‘http://susite.com.br/download/APP.apk‘; // aqui defini um caminho pard?o pro download , pode ser trocado por um edit, etcMyFile := TFileStream.Create(GetSharedDownloadsDir+’/APP.apk’, fmCreate); // local no celular e nome do arquivo com a extens?o, onde vai salvar.tryIdHTTP1.Get(caminho_d, MyFile); // fazendo o download do arquivo e salva no celularfinallyMyFile.Free;end;end;procedure TForm1.IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode;AWorkCount: Int64);beginProgressBar1.value := AWorkCount;Application.ProcessMessages;end;procedure TForm1.IdHTTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode;AWorkCountMax: Int64);beginProgressBar1.value := 0;ProgressBar1.Max := AWorkCountMax;Label1.Text := ‘开始下载’;end;procedure TForm1.IdHTTP1WorkEnd(ASender: TObject; AWorkMode: TWorkMode);beginProgressBar1.Value := ProgressBar1.Max;Label1.text := ‘下载完成’;end;
2)安装下载的APK
procedure TForm1.Button1Click(Sender: TObject);varaFile:Jfile;Intent:JIntent;beginaFile:=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 tcxgrid的tcxgriddbtableview.viewdata.rows跟records有什么区别
更多相关阅读请进入《Delphi》频道 >>