做网站干嘛,白色网站配色,三创大赛网站建设,河南省住房城乡建设门户网站安卓小白分享: Android程序自动在线升级安装.(通过GetSharedDownloadsPath方法) 1.修改AndroidManifest.template.xml ( 此文件在你DELPHI项目的目录中,如找不到就文件查找吧) 最好把此文件拖到DELPHI, 用DELPHI打开,(这样,它会一行一行格式清楚) 找到文字%u…安卓小白分享: Android程序自动在线升级安装.(通过GetSharedDownloadsPath方法) 1.修改AndroidManifest.template.xml ( 此文件在你DELPHI项目的目录中,如找不到就文件查找吧) 最好把此文件拖到DELPHI, 用DELPHI打开,(这样,它会一行一行格式清楚) 找到文字%uses-permission% 在它这一行后面, 新增一行: uses-permission android:nameandroid.permission.REQUEST_INSTALL_PACKAGES/ (必须加此行,不加就无法安装, 我反复试过了) 加完后,要保存!!! 2.上方菜单 Project--Options--Application--Entitlement List-- --(选择你的平台,最好选择All Configurations--Android platform (我只做android)--Secure File Sharing 如果你不勾, 在我手机上, 是显示闪退....(我也反复测试过了) 3.下面是代码部分. 至于你是如何把安装包下载, 此过程略过....下面专讲如何调用安装的代码. 1.Button1.Text是您已下载成功了,下面点击我来调用升级吧 uses Androidapi.Helpers, Androidapi.JNI.GraphicsContentViewText,System.IOUtils, Androidapi.Jni.JavaTypes, Androidapi.Jni.Net,Androidapi.JNI.App, Androidapi.JNI.Support,System.Permissions, Androidapi.JNI.Os; var myFile:string; myFile:TPath.GetSharedDownloadsPath/aaa.apk; // 随便找个formshow地方,给他赋值吧. procedure TframeDownloadSetupFile.Button1Click(Sender: TObject); begin //动态申请权限 PermissionsService.RequestPermissions([JStringToString(TJManifest_permission.JavaClass.WRITE_EXTERNAL_STORAGE)], procedure(const APermissions: TArraystring; const AGrantResults: TArrayTPermissionStatus) begin if (Length(AGrantResults) 1) and (AGrantResults[0] TPermissionStatus.Granted) then { activate or deactivate the location sensor } mySetupApp --调用安装过程 else begin ShortToast(由于您拒绝了权限申请,因此无法继续!); end; end); end; procedure mySetupApp; var Intent: JIntent; begin Intent:TJIntent.Create; Intent.addFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK); Intent.setAction(TJIntent.JavaClass.ACTION_VIEW); {$IF CompilerVersion33.0} Intent.addFlags(TJIntent.JavaClass.FLAG_GRANT_READ_URI_PERMISSION); Intent.SetDataAndType(TAndroidHelper.JFileToJURI(TJFile.JavaClass.init(StringToJString(sLocalDownloadFileName))), StringToJString(application/vnd.android.package-archive)); {$ELSE} Intent.SetDataAndType(TJnet_Uri.JavaClass.parse(StringToJString(url)), StringToJString(application/vnd.android.package-archive)); {$ENDIF} try TAndroidHelper.Activity.startActivity(Intent); //SharedActivity.startActivity(Intent); 新版DELPHI,建议用上一行的方法 ShowMessage(成功调用了安装程序, 但用户在后续安装过程中,有没有点取消,就不知道了.); except on e: Exception do begin ShowMessage(在调用安装过程中,出现异常错误, 具体错误信息如下:e.Message); end; end; end;