为什么我没有这个没有默认的构造函数错误?意图服务错误

时间:2017-12-15 08:22:27

标签: java android

我试图通过应用程序获取位置的坐标,但是在清单文件中, GPSTracker 带有红色下划线,说没有默认构造函数,我想知道是什么问题,谢谢.Below是跟踪器文件代码

public class GPSTracker extends Service implements LocationListener {

private final Context mContext;
boolean isGPSEnabled = false; // flag for GPS status
boolean isNetworkEnabled = false; // flag for network status
boolean canGetLocation = false; // flag for GPS status


Location location; // location
double latitude; // latitude
double longitude; // longitude

private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; // 10 meters

private static final long MIN_TIME_BW_UPDATES = 1000 * 60 * 1;

protected LocationManager locationManager;



public GPSTracker(Context context) {
    this.mContext = context;
    getLocation();

}


public Location getLocation() {
    try {
        locationManager = 
(LocationManager)mContext.getSystemService(LOCATION_SERVICE);

        isGPSEnabled = 
locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
        // getting network status
        isNetworkEnabled = 
locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);

        if (!isGPSEnabled && !isNetworkEnabled) {

        } else {
            this.canGetLocation = true;
            if (isNetworkEnabled) {
                if (ActivityCompat.checkSelfPermission(mContext, 
 Manifest.permission.ACCESS_FINE_LOCATION) != 
 PackageManager.PERMISSION_GRANTED
                        && ActivityCompat.checkSelfPermission(mContext,
                        Manifest.permission.ACCESS_COARSE_LOCATION) !=
                        PackageManager.PERMISSION_GRANTED) {

2 个答案:

答案 0 :(得分:0)

您需要将默认构造函数添加到GPSTracker。

public GPSTracker() {
   //implement
}

答案 1 :(得分:0)

服务继承上下文。您不需要向构造函数添加另一个上下文,但请写:

locationManager = (LocationManager)getSystemService(LOCATION_SERVICE);