我想让Google适合我的计步应用程序。我看到了许多教程,并尝试解决问题,但是该应用程序无法正常工作。在Logcat中显示此文本
Kotlin.NotImplementedError: An operation is not implemented: not implemented
at com.keppnoteapp.MainActivity.onAccuracyChanged(MainActivity.kt:113)
有人可以帮助我吗?
这是我的清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.keppnoteapp">
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
<uses-feature android:name="android.hardware.sensor.stepcounter" android:required="true"/>
<uses-feature android:name="android.hardware.sensor.stepdetector" android:required="true"/>
<application
.....
</application>
''
class MainActivity : AppCompatActivity(), SensorEventListener {
var running=false
var sensorManager:SensorManager?=null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
sensorManager=getSystemService(Context.SENSOR_SERVICE) as SensorManager
}
''
override fun onResume() {
super.onResume()
running=true
var stepsSensor=sensorManager?.getDefaultSensor(Sensor.TYPE_STEP_COUNTER)
if(stepsSensor==null){
Toast.makeText(this,"No step Counter Sensor!", Toast.LENGTH_SHORT).show()
} else{
sensorManager?.registerListener(this,stepsSensor,SensorManager.SENSOR_DELAY_UI)
}
}
override fun onPause() {
super.onPause()
running=false
sensorManager?.unregisterListener(this)
}override fun onAccuracyChanged(sensor: Sensor?, accuracy: Int) {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
override fun onSensorChanged(event: SensorEvent?) {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
if(running){
stepsValue.setText(""+event!!.values[0])
}
}
在您的代码中,有一个TODO(“未实现”)块。在kotlin中,这意味着这些功能未实现,在调用时将引发错误。
由于已经实现了SensorEventListener,所以将调用这些未实现的函数。
您可以简单地删除TODO(“未实现”))>