如何解决Delphi 10.4 以编程方式安装 APK
我想从我的 android 应用程序安装一个 apk,我确实尝试了以下操作
var
Path: JString;
Name: JString;
F: Jfile;
Intent: JIntent;
Path := StringToJString(System.IOUtils.TPath.GetSharedDownloadsPath);
Name := StringToJString('Test.apk');
F := TJfile.JavaClass.init(Path,Name);
Intent := TJIntent.Create();
Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
Intent.addFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);
Intent.setDataAndType(TJnet_Uri.JavaClass.fromFile(F),StringToJString('application/vnd.android.package-archive'));
TAndroidHelper.Context.startActivity(Intent);
我得到 android.os.FileUriExposedException: file:///storage/emulated/0/Download/Test.apk 通过 Intent.getData() 暴露在应用程序之外
我确实尝试通过 ReplaceString 将 file:// 替换为 content://,但没有成功。我也尝试在 setDataAndType 包安装程序启动时使用以下代码,但出现解析错误。
Intent.setDataAndType(TAndroidHelper.JFileToJURI( TJFile.JavaClass.init(StringToJString(System.IOUtils.TPath.Combine(System.IOUtils.TPath.GetPublicPath,'Test.apk')))),StringToJString('application/vnd.android.package-archive'));
请帮忙!!!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。