【问题标题】:Android App - Error In @Override Method for Location ServicesAndroid 应用程序 - 定位服务的 @Override 方法出错
【发布时间】:2017-12-02 14:09:54
【问题描述】:

我正在尝试编写一个用于交付的 Android 应用程序。很大一部分是找到移动设备的当前位置。

我遵循的所有教程都给出了我无法弄清楚或理解的相同错误,我是 Android 开发的新手。

我收到的错误是“Error:(76, 5) error: method does not override or implement a method from a supertype”。

我的代码:

public class LoginActivity extends AppCompatActivity {
protected LocationManager locationManager;
protected LocationListener locationListener;
protected Context context;
String tempLocation;
String lat;
String provider;
protected String latitude,longitude;
protected boolean gps_enabled,network_enabled;

public static String pName;
public static String pID;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);


    //Get Input
    etUsername = (EditText) findViewById(R.id.txtLoginUserName);
    etPassword = (EditText) findViewById(R.id.txtLoginPassword);




    locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, (LocationListener) this);

}
@Override
public void onLocationChanged(Location location) {
    tempLocation = "Latitude:" + location.getLatitude() + ", Longitude:" + location.getLongitude();
    TextView lg = (TextView) findViewById(R.id.txtLoginUserName);
    lg.setText(tempLocation);
}

@Override
public void onProviderDisabled(String provider) {
    Log.d("Latitude","disable");
}

@Override
public void onProviderEnabled(String provider) {
    Log.d("Latitude","enable");
}

@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
    Log.d("Latitude","status");
}

还有我的结果日志:

Error:(76, 5) error: method does not override or implement a method from a supertype
Error:(83, 5) error: method does not override or implement a method from a supertype
Error:(88, 5) error: method does not override or implement a method from a supertype
Error:(93, 5) error: method does not override or implement a method from a supertype
:app:compileDebugJavaWithJavac FAILED
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
Information:BUILD FAILED
Information:Total time: 1.661 secs
Information:5 errors
Information:0 warnings
Information:See complete output in console

我正在使用这个tutorial

任何帮助或建议将不胜感激,因为我尝试使用许多不同的答案,但到目前为止没有真正的帮助。

【问题讨论】:

  • 显示你的类声明。
  • 你的类扩展了什么类?
  • 添加了 public class LoginActivity extends AppCompatActivity 这一行,希望这就是你的意思@shmosel

标签: java android android-gps


【解决方案1】:

您在课堂上缺少以下implements LocationListener...

使用类似的东西

class LocationActivity extends AppCompatActivity implements LocationListener{

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}

@Override
public void onLocationChanged(Location location) {

}

@Override
public void onStatusChanged(String provider, int status, Bundle extras) {

}

@Override
public void onProviderEnabled(String provider) {

}

@Override
public void onProviderDisabled(String provider) {

}


}

然后你将能够实现你想要的......希望它帮助你

【讨论】:

  • 非常感谢,立即生效。最后一个问题,我在我的 AndroidManifest.xml 下有 但收到 Caused by: java.lang.SecurityException: "gps" location provider requires ACCESS_FINE_LOCATION 权限。错误。知道为什么吗?
  • 很高兴为您提供帮助...也使用以下权限 ` `并检查您是否没有允许该权限.. .通过转到设置>应用>您的应用>您的Android设备或模拟器的权限..
【解决方案2】:

【讨论】:

  • @GoodDisplayName 没问题!乐于助人!
猜你喜欢
  • 2016-05-26
  • 1970-01-01
  • 2011-09-16
  • 1970-01-01
  • 1970-01-01
  • 2014-09-23
  • 2016-11-01
  • 1970-01-01
  • 2012-04-08
相关资源
最近更新 更多