Android 自动更新无市场DELPHI XE5
我正在尝试为我的应用程序创建一个自动更新,而不使用Android Market,该应用程序将只分发给我的客户。 我有下面的代码,但它不工作。它给出了错误Android 自动更新无市场DELPHI XE5,android,delphi,auto-update,delphi-xe5,Android,Delphi,Auto Update,Delphi Xe5,我正在尝试为我的应用程序创建一个自动更新,而不使用Android Market,该应用程序将只分发给我的客户。 我有下面的代码,但它不工作。它给出了错误Android.content.ActivityNotFoundException:In activity found to handle intent{… 有人在Delphi自动更新XE5中做到了这一点吗 TFrmMain.BtnInstalarClick procedure (Sender : TObject ) ; var Inte
Android.content.ActivityNotFoundException:In activity found to handle intent{…
有人在Delphi自动更新XE5中做到了这一点吗
TFrmMain.BtnInstalarClick procedure (Sender : TObject ) ;
var
Intent : JIntent ;
Uri : TJnet_Uri ;
begin
Intent : = TJIntent.Create ;
Intent.setAction ( TJIntent.JavaClass.ACTION_VIEW );
Intent.setDataAndType(TJnet_Uri.JavaClass.parse(StringToJString('/storage/sdcard0/Android/data/com.CloudCon.AtualizacaoAutomatica/files/Rota.apk')),StringToJString('application/vnd.android.package-archive'));
SharedActivity.startActivity ( Intent ) ;
end ;
路径正确。还设置了互联网
、写入外部存储
和安装程序包
的权限
显然,我可以在Java中执行以下操作:
" String command = " chmod 666 " + PATH ;
Runtime.getRuntime ( ) . Exec (command ) ; "
如何在Delphi中执行此操作。您可以尝试此代码
var
aFile:Jfile;
Intent:JIntent;
begin
aFile:=TJfile.JavaClass.init(stringtojstring('/storage/sdcard0/Android/data/com.CloudCon.AtualizacaoAutomatica/files/'),stringtojstring('Rota.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;