首页 > 移动平台 > 详细

安卓App自动升级

时间:2019-08-30 12:04:27      阅读:143      评论:0      收藏:0      [点我收藏+]
procedure _InstallApk(Apk: string);
var
  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);
end;
procedure InstallApk(Apk: string);
var
  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);
  end
  else
    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以上要在manifest里加权限
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>

感谢codecoolie,FFmpeg for Delphi http://www.CCAVC.com http://www.DelphiFFmpeg.com的作者,有机会去支持一下!

原文地址:http://bbs.2ccc.com/topic.asp?topicid=568834

安卓App自动升级

原文:https://www.cnblogs.com/kinglandsoft/p/11434236.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!