如何获取调用静态函数的活动的上下文?

Zapnologica

我有一个利用以下lib的网络类:具有4个功能的Lib Docs进行获取,发布删除并将请求放置到服务器。这是简化版:

 public static void get(Context context, String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {          
    httpClient.get(context, getAbsoluteUrl(url), params, responseHandler);
} 

现在,不必通过参数传递上下文了,有没有办法找到功能内部调用活动的上下文呢?

遵循以下原则:

public static void get(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {
    Context context = getCallignActivtyCntext() // <====== some thing like this
    httpClient.get(context, getAbsoluteUrl(url), params, responseHandler);
}

我需要特定上下文的原因是,当活动被破坏时,我必须取消所有网络请求,并且该活动将根据上下文对所有请求进行分组或标识。

y

如果您实际上不需要方法的调用者的特定上下文,则可以通过以下方式使用Application上下文: getApplicationContext()

要静态访问您的应用程序上下文,您可以执行以下操作:

public class CustomApplication extends Application{

    private static Context context;

    public void onCreate(){
        super.onCreate();
        this.context = getApplicationContext();
    }

    public static Context getContext() {
        return instance;
    }
}

然后在清单中声明您的应用程序名称以匹配您的自定义类

<application android:name="com.path.to.class.CustomApplication" ...>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章