Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 自动更新无市场DELPHI XE5_Android_Delphi_Auto Update_Delphi Xe5 - Fatal编程技术网

Android 自动更新无市场DELPHI XE5

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 Market,该应用程序将只分发给我的客户。 我有下面的代码,但它不工作。它给出了错误
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;