gpt4 book ai didi

java - Android位置管理器编译错误

转载 作者:太空宇宙 更新时间:2023-11-03 11:53:46 25 4
gpt4 key购买 nike

我正在尝试检索 LocationManager 类的实例(获取一些 GPS 相关信息)。我曾经写过一个简单的类来这样做,但它最终给了我一个错误

Cannot make a static reference to the non-static method getSystemService(String) from the type Context

这是我的课

public class LocationManagerHelper {

static Location location = null;

public static Location getLocation () {
LocationManager manager = (LocationManager) Context.getSystemService(Context.LOCATION_SERVICE);

if(manager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
Location location = manager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
} else {
System.out.println("Provider is disabled");
}
return location;
}
}

谢谢。

最佳答案

该错误消息表示您正在使用一个类 (Context) 进行调用,该调用需要一个类实例

您需要将一个 Context 实例传递给 getLocation,并使用该 Context 实例调用 getSystemService

public static Location getLocation (Context context) {
LocationManager manager =
(LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
//....

如果您在 Activity 中使用 LocationManagerHelper,那么您可以将 Activity 作为上下文传递:

LocationManagerHelper.getLocation(this); // "this" being an Activity instance

关于java - Android位置管理器编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4894653/

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