【发布时间】:2020-01-25 17:38:59
【问题描述】:
在 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();
}
}
【问题讨论】:
-
MainActivity 类继承自 Activity(或 AppCompatActivity),它有一个 onResume 方法可以覆盖。在这里,您似乎是从没有 onResume 方法的 Service 扩展而来的:developer.android.com/reference/android/app/Service.html
-
@tlong314
SensorEventListener不是Service。
标签: java android overriding