Android App automatically upgrade

procedure _InstallApk (PCN: string );
was
  LFile: JFile;
  LIntent: JIntent;
begin
  LFile := TJFile.JavaClass.init(StringToJString(ExtractFilePath(Apk)), StringToJstring(ExtractFileName(Apk)));
  LIntent: = TJIntent. Create ;
  LIntent.setAction (TJIntent.JavaClass.ACTION_VIEW);
  LIntent.addFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);
  LIntent.setDataAndType(TJnet_Uri.JavaClass.fromFile(LFile), StringToJString('application/vnd.android.package-archive'));
  TAndroidHelper.Context.startActivity (LIntent);
over ;
procedure InstallApk (PCN: string );
was
  LFile: JFile;
  LIntent: JIntent;
  LNet_Uri: Jnet_Uri;
begin 
  if  not TOSVersion.Check ( 7 , 0 ) then 
  begin
    _InstallApk(Apk);
    Exit;
  end;
  LFile := TJFile.JavaClass.init(StringToJString(ExtractFilePath(Apk)), StringToJstring(ExtractFileName(Apk)));
  LIntent := TJIntent.Create;
  if TOSVersion.Check(8, 0) then
    LIntent.setAction(TJIntent.JavaClass.ACTION_INSTALL_PACKAGE)
  else
    LIntent.setAction (TJIntent.JavaClass.ACTION_VIEW);
  LIntent.addFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);
  if TOSVersion.Check(7, 0) then
  begin
    // fix: android.os.FileUriExposedException: exposed beyond app through Intent.getData()
    // Project -> Options -> Application -> Entitlement List -> Secure File Sharing -> Check it
    LIntent.addFlags(TJIntent.JavaClass.FLAG_GRANT_READ_URI_PERMISSION);
    LNet_Uri: = TJFileProvider.JavaClass.getUriForFile (TAndroidHelper.Context,
      StringToJString (JStringToString (TAndroidHelper.Context.getPackageName) + ' .fileprovider ' ), LFile);
  Over 
  presence 
    LNet_Uri: = TJnet_Uri.JavaClass.fromFile (LFile);
  LIntent.setDataAndType(LNet_Uri, StringToJString('application/vnd.android.package-archive'));
  TAndroidHelper.Context.startActivity (LIntent);
end;

Android 8.0 or more permissions to the manifest Riga
<uses-permission android: name = "android.permission.REQUEST_INSTALL_PACKAGES" />

Thank codecoolie , FFmpeg for Delphi  http://www.CCAVC.com  http://www.DelphiFFmpeg.com authors, have the opportunity to support it!

Original Address: http://bbs.2ccc.com/topic.asp?topicid=568834

Guess you like

Origin www.cnblogs.com/kinglandsoft/p/11434236.html