【问题标题】:Auto update NO MARKET DELPHI XE5自动更新 NO MARKET DELPHI XE5
【发布时间】:2013-11-13 04:13:59
【问题描述】:

我正在尝试为我的应用程序创建一个自动更新,而不使用 Android Market,该应用程序将只分发给我的客户。 我有下面的代码,但它不起作用。它给了我错误Android.content.ActivityNotFoundException : In Actitivy 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 ;

路径正确。还设置了INTERNETWRITE_EXTERNAL_STORAGEINSTALL_PACKAGES的权限。

显然我可以在 Java 中执行以下操作:

" String command = " chmod 666 " + PATH ;
Runtime.getRuntime ( ) . Exec (command ) ; "

我如何在 Delphi 中做到这一点。

【问题讨论】:

    标签: android delphi auto-update delphi-xe5


    【解决方案1】:

    你可以试试这段代码,

    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;   
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多