【问题标题】:how to add own native service in Gluon app如何在 Gluon 应用程序中添加自己的原生服务
【发布时间】:2020-10-19 10:09:17
【问题描述】:

我想向 Gluon 应用程序添加短信和电子邮件本机服务(类似于拨号服务)。 我已经看到了一些关于以前版本“gluon charms down”的信息,但没有看到更高版本的“gluon attach”......

是否仍然可以使用“gluon attach”在 gluon 应用程序中添加我自己的本机服务? 我将 maven 与 com.gluonhq:client-maven-plugin:0.1.32 一起使用

【问题讨论】:

    标签: gluon-mobile


    【解决方案1】:

    好的,所以我发现的唯一方法是生成我自己的附加版本,以及附加服务。有 2 个步骤(粗体)是出乎意料的:

    A.复制https://github.com/gluonhq/attach

    1. 创建一个新模块“例如mynative”作为现有模块的副本。在新模块中相应地重命名文件和ID

    2. 在 settings.gradle 添加行:

        include 'mynative' 
        ...
        project(':mynative...
     
    
    1. 在 ./util/src/main/native/android/c/util.c,

    添加行:

    static jclass jMynativeServiceClass;
    
    ...
    
    jclass substrateGetRinkainativeServiceClass() {
      return GETREGISTERCLASS(jMynativeServiceClass, 
         "com/gluonhq/helloandroid/DalvikMynativeService");
    }
    
    1. 安装
        ./gradlew publishToMavenLocal
    
    

    B.复制https://github.com/gluonhq/client-maven-plugin

    1. 在 ./src/main/java/com/gluonhq/attach/AttachService.java 添加“MYNATIVE”枚举值
    2. 安装:
         mvn  clean package install
    
    

    C.在您的 gluon 移动应用中使用服务

    client-maven-plugin 插件的更新版本和 attach 依赖于上述步骤中使用的那些,即 xxx-SNAPSHOT

    在 com.gluonhq:client-maven-plugin 配置中添加 mynative 到附件列表

    用作其他附加服务,例如

    Services.get(MynativeService.class).ifPresent(service -> {
        System.err.println("connected:"+service.connectedProperty().get());
    });
    

    然后在android上运行:

    mvn -o -P android clean  client:build client:package client:install client:run
    

    IOS没试过

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-08
      • 2018-06-13
      相关资源
      最近更新 更多