zoukankan      html  css  js  c++  java
  • Delphi 安装apk

    procedure ToInstallApk(filename: string);
    var
       aFile: Jfile;
       Intent: JIntent;
    begin
          Try
              aFile := TJfile.JavaClass.init(stringtojstring(DownPath),stringtojstring(filename));
              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('applicationnd.android.package-archive'));
              SharedActivityContext.startActivity(Intent);
          Except
          End;
    end;
    
    
    procedure ToInstallApk70(filename: string);
    var
      LFile: JFile;
      LIntent: JIntent;
      LNet_Uri: Jnet_Uri;
    begin
      if not TOSVersion.Check(7, 0) then
      begin
           ToInstallApk(filename);
           exit;
      end;
      LFile := TJFile.JavaClass.init(StringToJString(ExtractFilePath(DownPath)), StringToJstring(ExtractFileName(filename)));
      LIntent := TJIntent.Create;
      if TOSVersion.Check(8, 0) then
        LIntent.setAction(TJIntent.JavaClass.ACTION_INSTALL_PACKAGE)
      else
        LIntent.setAction(TJIntent.JavaClass.ACTION_VIEW);
      LIntent.addFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);
      if TOSVersion.Check(7, 0) then
      begin
        // fix: android.os.FileUriExposedException: exposed beyond app through Intent.getData()
        // Project -> Options -> Application -> Entitlement List -> Secure File Sharing -> Check it
        LIntent.addFlags(TJIntent.JavaClass.FLAG_GRANT_READ_URI_PERMISSION);
        LNet_Uri := TJFileProvider.JavaClass.getUriForFile(TAndroidHelper.Context,
          StringToJString(JStringToString(TAndroidHelper.Context.getPackageName) + '.fileprovider'), LFile);
      end
      else
        LNet_Uri := TJnet_Uri.JavaClass.fromFile(LFile);
      LIntent.setDataAndType(LNet_Uri, StringToJString('applicationnd.android.package-archive'));
      TAndroidHelper.Context.startActivity(LIntent);
    end;
  • 相关阅读:
    微服务
    flume
    mongodb
    Java 代理学习笔记
    HttpClient连接池
    一起写RPC
    spring boot cloud
    .NET MVC 表主外键关系 JSON 无限循环 方案二(推荐)
    EF提示“序列化类型为XXX的对象时检测到循环引用”
    Handlebars.js registerHelper
  • 原文地址:https://www.cnblogs.com/kinglandsoft/p/11934682.html
Copyright © 2011-2022 走看看