Android 方法getApplicationContext()未定义

Android 方法getApplicationContext()未定义,android,Android,这就是我所拥有的,它显示了一个错误,并告诉我MyLocationListener类型的getApplicationContext()方法未定义 我应该如何避免此错误因为您不在活动中您需要向类传递上下文。无论在何处实例化该类,都要传递活动上下文 public void onProviderDisabled(String provider) { Toast.makeText(getApplicationContext(), "Gps Disabled", Toast.LENGTH_SHORT

这就是我所拥有的,它显示了一个错误,并告诉我MyLocationListener类型的getApplicationContext()方法未定义


我应该如何避免此错误

因为您不在
活动中
您需要向类传递
上下文
。无论在何处实例化该类,都要传递
活动上下文

public void onProviderDisabled(String provider) {
    Toast.makeText(getApplicationContext(), "Gps Disabled", Toast.LENGTH_SHORT);


}
然后在该类中创建一个
构造函数
,该类接受
上下文
作为
参数
,并使用该构造函数

MyClass myClass = new MyClass(this);
然后当你需要使用它的时候

public class MyClass {
    Context c;
    public MyClass(Context context) {
         c = context;
     }
}

如果您正在使用ContentProvider,请尝试以下操作

public void onProviderDisabled(String provider) {
    Toast.makeText(c, "Gps Disabled", Toast.LENGTH_SHORT);
}
这对我有用

公共类MyClass扩展活动


我通过扩展应用程序类来解决这个问题,我的类是AppController:

getContext()

使用活动上下文而不是getApplicationContext()此方法是否在
活动
中?不,它不是实现LocationListener的类,然后需要将上下文传递给它,请参见我的答案。希望能有帮助
public class AppController extends Application{
    ...
}