java - 方法不会覆盖其超类中的方法并且无法解析符号
问题描述
在 Override 中,我收到“方法不覆盖其超类中的方法”错误。我还在 super.onResume () 中得到“onResume 无法解析方法”错误;
它在 MainActivity 上工作,但是当我将代码移动到服务类时,我收到了这个错误。
public class Servis extends Service implements SensorEventListener{
SensorManager mgr;
Sensor temp;
TextView text;
StringBuilder msg = new StringBuilder(2048);
MediaPlayer mediaPlayer;
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
mediaPlayer = MediaPlayer.create(Servis.this, R.raw.warning);
mgr = (SensorManager) this.getSystemService(SENSOR_SERVICE);
temp = mgr.getDefaultSensor(Sensor.TYPE_AMBIENT_TEMPERATURE); }
@Override
protected void onResume() {
mgr.registerListener(this, temp, SensorManager.SENSOR_DELAY_NORMAL);
super.onResume();
}
@Override
protected void onPause() {
mgr.unregisterListener(this, temp);
super.onPause();
}
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
public void onSensorChanged(SensorEvent event) {
float fahrenheit = event.values[0] * 9 / 5 + 32;
if(fahrenheit < 68)
mediaPlayer.start();
}
}
解决方案
AService
不是Activity
,这就是为什么这些方法不能被覆盖。您可以安全地删除它们,而必须让Activity
实施它们。当 a 时Service implements SensorEventListener
,这看起来像这样:
public class Servis extends Service implements SensorEventListener {
@Override
public void onCreate() {
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
}
@Override
public void onDestroy() {
}
@Override
public IBinder onBind(Intent intent) {
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
@Override
public void onSensorChanged(SensorEvent event) {
}
}
推荐阅读
- javascript - 仅使用等待 20 秒
- java - Cucumber 在 Intellij Idea 中不起作用:似乎 IDE 没有读取插件
- kubernetes - 具有多个节点的 Azure Kubernetes 服务集群
- python - 如何在其生命周期的早期从 Generic[T] 实例访问 T?
- android - 有没有办法在通过谷歌云平台运行的 Windows Server 2019 上启用 VT-X
- visual-studio-code - Visual Studio“创建可折叠区域(Ctrl + M + H)”在VS Code中等效?
- javascript - 如何在 redux-observable 上进行 PUT 和 DELETE
- angular - 仅从 Angular 2+ 将特殊字符粘贴到文本框中时修剪特殊字符
- javascript - 如何防止反应日期 SingleDatePicker 打开焦点?
- swift - 模拟 URLSession 以返回一个模拟的 URLSessionDataTask