更新记录

1.0.2(2020-01-02)

修复已知bug

1.0.1(2019-08-08)

更新使用示例


平台兼容性

Android Android CPU类型 iOS
armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


Android 关机关联打开

const open=uni.requireNativePlugin("chuck-openwithandroid"); 插件只有一个方法,初始化schemes: 再 app.vue onLaunch方法中初始化 1、 const open = uni.requireNativePlugin('chuck-openwithandroid');

export default {
    onLaunch: function() {

        open.onIntent('hbuilder://');

        console.log('hbuilder://');
    },

2、 manifest.json 文件中添加如下配置:

/ 应用发布信息 / "distribute" : { / android打包配置 / "android" : { "schemes" : [ "hbuilder" ],

3 、当第三方程序选中文件采用第三方打开后 在index的 onshow方法检测

        console.log('App Show')

        // 获取启动信息,app使用
        // #ifdef APP-PLUS
        switch (plus.runtime.launcher) {
            case 'default': //点击启动默认
                console.log('default 方式启动')

                break;
            case 'scheme': //scheme方式
                console.log('scheme 方式启动')
                try {
                    var args = plus.runtime.arguments
                    console.log('传递过来的参数' + args)
                    uni.showToast({
                        title: args + ''
                    });
                    if (args) {
                        // 处理args参数,如直达到某新页面等  
                        // 判断是content方式打开 todo

                        var par = args.substring(11)
                        console.log(par)
                        // 跳转到界面

                        plus.runtime.arguments = ''
                    }
                } catch (e) {
                    //TODO handle the exception
                    console.log(e)
                }

                break;
            case 'push': //点击推送启动
                console.log('push 方式启动')

                // plus.runtime.openURL(plus.runtime.arguments)
                // 跳转到消息界面
                // 跳转到页面
                uni.navigateTo({
                    url: plus.runtime.arguments,
                    success: res => {},
                    fail: () => {},
                });
                plus.runtime.arguments = ''
                plus.runtime.launcher = 'default';
                break;
            default:
                break;
        }

        // #endif

打印信息如下:

传递过来的参数hbuilder:///storage/emulated/0/tencent/MicroMsg/Download/阳光出行电子发票.pdf

参数:是文件的平台绝对路径,格式例如:

/storage/emulated/0/tencent/MicroMsg/Download/阳光出行电子发票.pdf 返回值:无

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问