delphi android 自动升级

本文详细探讨了在Android设备上安装APK时遇到的问题及解决方案,特别是针对ActivityNotFoundException异常,给出了正确的路径设置方法和Intent配置步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用IdHTTP1下载文件到手机完成。

调用自动安装不行。

First chance exception at $DFC22519. Exception class EJNIException with message
 'android.content.ActivityNotFoundException: No Activity found to handle Intent
 { act=android.intent.action.VIEW dat=file:///storage/emulated/0/Download/APP.apk typ=application/vnd.Android.package-archive flg=0x10000000 }'.
 Process aa.apk (26043)

 

https://www.cnblogs.com/liyiran/p/6289450.html

这个参考,说是路径不对,data=安装 apk 的 Uri 应该是 file:// 开头

是对的,继续找其他原因

 

procedure TForm1.Button1Click(Sender: TObject);
var
  aFile:Jfile;
  Intent:JIntent;
begin

  aFile:=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;

 

  dpath :=  'file://'+dpath;
  jpath :=   StringTojString( dpath) ;
  Intent.setDataAndType(TJnet_Uri.JavaClass.parse(jpath) , StringTojString('application/vnd.Android.package-archive'));

 http://blog.youkuaiyun.com/justforthedream/article/details/44083631

Android第一个字母大写是错误的,应该是小写。android。

正确的小写:
application/vnd.android.package-archive

错误的一个大写字母
application/vnd.Android.package-archive
 
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值