Android 应用程序 - 定位服务的 @Override 方法出错

Posted

技术标签:

【中文标题】Android 应用程序 - 定位服务的 @Override 方法出错【英文标题】:Android App - Error In @Override Method for Location Services 【发布时间】: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 【参考方案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

Android "gps requires ACCESS_FINE_LOCATION" error, even though my manifest file contains this

【讨论】:

@GoodDisplayName 没问题!乐于助人!

以上是关于Android 应用程序 - 定位服务的 @Override 方法出错的主要内容,如果未能解决你的问题,请参考以下文章

Android 按键 在锁屏界面,按“△”不能解锁,只有空格键可以解锁

如何关闭安卓应用程序?

About CocoA L’ove;About Warm

当android应用程序注销并与另一个用户登录时如何重新生成新的FCM令牌

Android Camera2 拍照——对焦模式

Android线性加速度,计算轨迹