cordova android项目自定义插件及使用(二)

本文介绍如何从JavaScript通过自定义插件调用Android原生API显示Toast消息。涉及ExtendInfo.java、ExtendInfo.js等文件修改及配置,实现跨平台应用中JavaScript与原生代码交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接上一篇
 
这次完成的是:从index当中的js事件,访问android原生的activity,用android.widget.Toast显示一句hello world
 
——这次首先打开ExtendInfo.java,修改
  
    private static final String TOAST = "toast";
    
    @Override
    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;
        }else if (action.equals(TOAST)) {
            Toast.makeText(cordova.getActivity(), "hello world", Toast.LENGTH_SHORT).show();
        }
        return false;
    }
}

 

 
——然后我们打开assets/www/plugins/com.myproj.text/www/ExtendInfo.js
  
cordova.define("com.myproj.test.ExtraInfo", function(require, exports, module) { var exec = require('cordova/exec');

exports.getExtra = function(success, error) {
    exec(success, error, "ExtendInfo", "getExtra", []);
};
exports.toast = function(content,type) {
    exec(null, null, "ExtraInfo", "toast", []);
 };
});
——然后我们再打开assets/www/cordova_plugins.js,修改一下clobbers方便我们后续js调用
   
{
        "file": "plugins/com.myproj.test/www/ExtendInfo.js",
        "id": "com.myproj.test.ExtendInfo",
        "clobbers": [
            "ExtendInfo"
        ]
    }

  我理解的 clobbers里的ExtendInfo就是一会儿在index.html的js当中调用的名称

 
——然后我们再打开assets/www/index.html,添加js代码
<script type="text/javascript">
        app.initialize();
        document.addEventListener("deviceready", fun, false);
        function fun() {
            alert("kk");
            ExtendInfo.toast();
        }
    </script>
 
我们自定义的插件就是在config.xml当中注册的,见上一篇文章的最后一张图。
 
然后运行就可以先看到页面alert出来一个kk
点击确定之后,在界面的下方就出现toast出来一句 hello world
 
 
希望不明白的朋友可以提问,我也查漏补缺哈。

 

 

转载于:https://www.cnblogs.com/rebeccay/p/4953955.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值