目录结构如下:
以上三个用红色框勾出的地方是需要修改的文件夹。
首先:添加java代码。
在src目录下新建一个包裹:org.apache.cordova
在该包裹下新建类:ToastPlugin.java
代码如下:
package org.apache.cordova; import org.apache.cordova.api.CallbackContext; import org.apache.cordova.api.CordovaInterface; import org.apache.cordova.api.CordovaPlugin; import org.json.JSONArray; import org.json.JSONException; import android.util.Log; import android.widget.Toast; public class ToastPlugin extends CordovaPlugin { public static String TOAST = "toast"; public boolean execute(String action, JSONArray data, CallbackContext callbackContext) throws JSONException { if (TOAST.equals(action)) { Log.i(TOAST, "message:"+data.getString(0)+",length:"+data.getInt(1)); toast(data.getString(0), data.getInt(1), callbackContext); } return false; } public synchronized void toast(final String message, final int length, CallbackContext callbackContext) { final CordovaInterface cordova = this.cordova; Runnable runnable = new Runnable() { public void run() { Toast.makeText(cordova.getActivity(), message,length).show(); } }; this.cordova.getActivity().runOnUiThread(runnable); } }
然后在assets-www-js文件中新建phonegap-toast.js
代码如下:
var toast = function(){}; toast.prototype = { ShowToast:function(content,length){ return cordova.exec(null, null,"ToastPlugin","toast",[content,length]); } }; cordova.addConstructor(function(){ if (!window.plugins) { window.plugins = {}; } window.plugins.ToastPlugin = new toast(); });
最后在res-xml文件中修改config.xml文件
在widget节点中添加如下节点:
<plugin name="ToastPlugin" value="org.apache.cordova.ToastPlugin"/>
使用:
在你要使用toast的html文件中引入js文件:
<script type="text/javascript" src="js/phonegap-toast.js"></script>
调用方法:
window.plugins.ToastPlugin.ShowToast('通讯录',3000);//第一个参数为显示的内容,第二个参数是显示的时间,单位ms
参考资料:http://blog.sina.com.cn/s/blog_c2918c770101bf1u.html