用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.csdn.net/justforthedream/article/details/44083631
Android第一个字母大写是错误的,应该是小写。android。 正确的小写:
application/vnd.android.package-archive 错误的一个大写字母
application/vnd.Android.package-archive