cordova自定义android插件,自定义cordova插件调用无效

最近一直研究cordova来打包vue项目成webapp,想自己尝试一下写一个cordova插件,然后用js来调用这个组件执行的结果。

cordova项目结构如下:

bVbdM12?w=455&h=675

1、创建组件ExtraInfo

ExtraInfo.java文件内容如下:

import android.view.animation.DecelerateInterpolator;

import android.widget.ImageView;

import android.widget.LinearLayout;

import android.widget.ProgressBar;

import android.widget.RelativeLayout;

import android.content.Context;

import android.app.Activity;

import android.content.Intent;

import org.apache.cordova.CallbackContext;

import org.apache.cordova.CordovaPlugin;

import org.apache.cordova.CordovaWebView;

import org.json.JSONArray;

import org.json.JSONException;

public class ExtraInfo extends CordovaPlugin {

public boolean execute(String action, JSONArray args, CallbackContext callbackContext)

throws JSONException {

Activity activity = this.cordova.getActivity();

if(action.equals("getExtra")) {

Intent i = activity.getIntent();

if(i.hasExtra(Intent.EXTRA_TEXT)) {

callbackContext.success(i.getStringExtra(Intent.EXTRA_TEXT));

}else{

callbackContext.error("返回错误信息");

}

return true;

}

return false;

}

}

ExtraInfo.js文件内容如下:

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

exports.getExtra = function(success, error) {

exec(success, error,"ExtraInfo","getExtra", []);

};

plugin.xml文件内容如下:

xmlns=" http://apache.org/cordova/ns/plugins/1.0"

xmlns:android=" http://schemas.android.com/apk/res/android">

ExtraInfo

Description

2、添加组件ExtraInfo到项目中

然后到 ……/platforms/android 路径下执行命令cordova plugin add ExtraInfo,添加该组件到项目中

3、调用组件

为了简单,我在cordova创建的项目模板文件www/js/index.js里面直接调用该cordova插件:

receivedEvent: function(id) {

var cordova = require('cordova');

var extraInfo = cordova.require('com.zyd.cordova.ExtraInfo');

extraInfo.getExtra(function(message) {

alert("111" + message);

}, function(message) {

alert("2222" + message);

});

}

最后在www/index.html引用该文件

不知道为什么一直不显示调用结果,index.js里面 getExtra()的alert语句不执行,该句前面定义alert可以执行,问题出在哪儿呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值