gpt4 book ai didi

android - 如何获取调用静态函数的 Activity 的上下文?

转载 作者:行者123 更新时间:2023-11-29 00:21:30 24 4
gpt4 key购买 nike

我有一个使用以下库的网络类:Lib Docs具有 4 个功能,可以向服务器发出获取、发布删除和放置请求。这是简化版:

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

现在不必通过参数传递上下文,是否没有可能的方法来获取函数内部调用 Activity 的上下文?

一些类似的东西:

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

我需要特定上下文的原因是因为当一个 Activity 被销毁时我必须取消所有网络请求,并且它通过上下文对所有请求进行分组或标识。

最佳答案

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

要静态访问您的应用程序上下文,您可以这样做:

public class CustomApplication extends Application{

private static Context context;

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

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

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

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

关于android - 如何获取调用静态函数的 Activity 的上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22779283/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com