20148 月28
Cordova:Toast浮动提示插件
第一步:编写插件类
package cn.xuetang.plugin;
import android.widget.Toast;
import org.apache.cordova.CallbackContext;
import org.apache.cordova.CordovaInterface;
import org.apache.cordova.CordovaPlugin;
import org.json.JSONArray;
import org.json.JSONException;
/**
* Created by Wizzer on 14-8-28.
*/
public class ToastPlugin extends CordovaPlugin {
public ToastPlugin() {
}
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
if (this.cordova.getActivity().isFinishing()) return true;
if (action.equals("show")) {
this.show(args.getString(0));
} else if (action.equals("showlong")) {
this.showlong(args.getString(0));
} else {
return false;
}
callbackContext.success();
return true;
}
public void show(String message) {
Toast.makeText(this.cordova.getActivity(), Toast.LENGTH_SHORT).show();
}
public void showlong(String message) {
Toast.makeText(this.cordova.getActivity(), message, Toast.LENGTH_LONG).show();
}
}
第二步:配置 res/xml/config.xml
<feature name="ToastPlugin">
<param name="android-package" value="cn.xuetang.plugin.ToastPlugin" />
</feature>
注:这里的 feature name ,要和↓↓面讲的的js文件里一致。
第三步:创建js文件 plugins/toast.js
/**
* Created by Wizzer on 14-8-28.
*/
cordova.define("cn.xuetang.plugin.ToastPlugin", function(require, exports, module) {
var exec = require('cordova/exec');
module.exports = {
/**
* 一共5个参数
第一个 :成功回调
第二个 :失败回调
第三个 :将要调用的类的配置名字(在config.xml中配置↑↑)
第四个 :调用的方法名(一个类里可能有多个方法 靠这个参数区分)
第五个 :传递的参数 以json的格式
*/
show: function(message) {
exec(null, null, "ToastPlugin", "show", [message]);
},
showlong: function(message) {
exec(null, null, "ToastPlugin", "showlong", [message]);
}
};
});
注:js里两个方法,分别对应类中的两个方法
第四步:修改 cordova_plugins.js 引用 tocas.js
在 module.exports = [ ] 中追加如下代码:
{
"file": "plugins/toast.js",
"id": "cn.xuetang.plugin.ToastPlugin",
"merges": [
"navigator.toast"
]
}
最后:调用
navigator.toast.show("再点击一次退出");
navigator.toast.showlong("再点击一次退出");
本文地址:https://wizzer.cn/archives/3026 , 转载请保留.