本文概述
Context类是一个抽象类, 其实现由Android系统提供。它允许访问特定于应用程序的资源和类, 以及对应用程序级操作(例如启动活动, 广播和接收意图等)的调用。
Android的许多开放源代码片段或本机功能都需要在某些功能中将Context作为参数, 在本文中, 你将学习如何在Cordova插件中轻松地检索它。
检索上下文
首先, 你需要使用以下方法导入Context类以处理代码中的变量:
import android.content.Context;
现在, 你已经导入了Context类, 可以使用以下方法检索它:
Context context = this.cordova.getActivity().getApplicationContext();
注意:你需要在扩展CordovaPlugin类的类中使用此代码。
例子
以下示例显示了如何在Cordova插件中检索上下文以显示吐司:
package com.ourcodeworld.plugins.MyCustomClassName;
import org.apache.cordova.*;
import org.json.JSONArray;
import org.json.JSONObject;
import org.json.JSONException;
/*For toast and context*/
import android.content.Context;
import android.widget.Toast;
public class MyCustomClassName extends CordovaPlugin {
private CallbackContext PUBLIC_CALLBACKS = null;
@Override
public boolean execute(String action, JSONArray data, CallbackContext callbackContext) throws JSONException {
PUBLIC_CALLBACKS = callbackContext;
final JSONObject arg_object = data.getJSONObject(0);
/*Shows hello world in a Toast*/
if(action.equals("show_toast")){
Context context = this.cordova.getActivity().getApplicationContext();
int duration = Toast.LENGTH_LONG;
Toast toast = Toast.makeText(context, "Hello World!", duration);
toast.show();
}
PluginResult result = new PluginResult(PluginResult.Status.OK, "success");
result.setKeepCallback(true);
PUBLIC_CALLBACKS.sendPluginResult(result);
return true;
}
}
编码愉快!