cordova 调用蓝牙_使用Cordova插件实现两个app之间的相互调用和通讯

几年前使用Cordova 进行两个app之间的相互调用和通讯;当时也是几经折腾,今天把它整理出来,理一下思路,也方便有同样需求的朋友参考

一、require引入 plugin

require("cordova!com.lampa.startapp-master");

这个插件下载 https://github.com/dengxiaoning/com.lampa.startapp

(申明:该插件参考https://github.com/lampaa/com.lampa.startapp自己实现了ios的参数传递以及 downloadApps应用下载的功能)

二、源文件分析

首选来看看这个插件的实现

plugin.xml

指定了js module 的路径和调用时的名称target="startApp"

指定插件源文件路径,根据不同平台,定义插件包名、将文件写入平台指定的路径下

startApp.js

var exec = require('cordova/exec');

module.exports = {

set: function(params, extra) {

var output = [params];

if(extra != undefined) {

output.push(extra);

}

else {

output.push(null);

}

return {

start: function(completeCallback, errorCallback) {

completeCallback = completeCallback || function() {};

errorCallback = errorCallback || function() {};

exec(completeCallback, errorCallback, "startApp", "start", output);

},

},

/**

* extra values

*/

getExtras: function(completeCallback, errorCallback) {

exec(completeCallback, errorCallback, "startApp", "getExtras", []);

},

}

该js 实现了使用Cordova 调用android 和 ios 原生接口然后返回参数,

如:exec(completeCallback, errorCallback, "startApp", "start", output); 其中startApp指定调用的类名

【ios是@interface startApp : CDVPlugin,android是public class startApp extends CordovaPlugin】;

start指定调用该类的方法名;其他参数就是cordova 导出的成功、错误回调和携带返回数据。

startApp.java(中增加方法)

/**

* download application from market

* */

public void downloadApps(JSONArray args, CallbackContext callback){

JSONObject params;

try {

if(args.get(0) instanceof JSONObject){

params = args.getJSONObj

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值