[英]How to detect if the device has sensor to use compass in Kotlin?
有些设备没有内置传感器来使用指南针
如果手机不支持此功能,我在这里尝试做的是导航或向用户显示消息
我正在尝试这个:
sensorManager = getSystemService(Context.SENSOR_SERVICE) as SensorManager
sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION)
if (sensor !== null) {
val intent = Intent(this, MainActivity::class.java)
startActivity(intent)
}else{
val intent = Intent(this, SetProfileActivity::class.java)
startActivity(intent)
}
但每次都会收到此错误:
sensorManager.getDefault…(Sensor.TYPE_ORIENTATION) must not be null
我究竟做错了什么?
我只是偶然发现了同样的问题。
这是我找到并为我工作的解决方案:
val pm: PackageManager = context.packageManager
if (!pm.hasSystemFeature(PackageManager.FEATURE_SENSOR_COMPASS)) {
// This device does not have a compass, turn off the compass feature
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.