如何在Android的Cordova插件中获取上下文

本文概述

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;
    }
}

编码愉快!

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?