phonegap 2.8.1 toast

目录结构如下:

以上三个用红色框勾出的地方是需要修改的文件夹。

首先:添加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);
    }
}
View Code

然后在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();
 
});
View Code

最后在res-xml文件中修改config.xml文件

在widget节点中添加如下节点:

<plugin name="ToastPlugin" value="org.apache.cordova.ToastPlugin"/>
View Code

使用:

在你要使用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

原文地址:https://www.cnblogs.com/Jokers/p/3599091.html