Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
调用需要API级别24(当前最小值为8):new android.location.GnssStatus.Callback_Android_Android Location_Android Gps - Fatal编程技术网

调用需要API级别24(当前最小值为8):new android.location.GnssStatus.Callback

调用需要API级别24(当前最小值为8):new android.location.GnssStatus.Callback,android,android-location,android-gps,Android,Android Location,Android Gps,API 24中引入了。现在不推荐使用GpsStatus,但我们不能将新版本用于24小时之前的API 现在怎么办?我们如何在旧项目中使用新的功能?我建议暂时保持旧的功能。这只是在API 24中被弃用了,它甚至还没有正式发布。即使一旦发布,在不久的将来,它可能只会被一小部分设备使用(也就是说,在很长一段时间内,大多数人仍然是旧版本的Android)。此外,从8分到24分是一个很大的飞跃 也就是说,可以进行特定版本的推理。请参阅以下文档: 这可能是显而易见的,但这里的警告是,您不希望执行以下代码:

API 24中引入了。现在不推荐使用
GpsStatus
,但我们不能将新版本用于24小时之前的API


现在怎么办?我们如何在旧项目中使用新的功能?

我建议暂时保持旧的功能。这只是在API 24中被弃用了,它甚至还没有正式发布。即使一旦发布,在不久的将来,它可能只会被一小部分设备使用(也就是说,在很长一段时间内,大多数人仍然是旧版本的Android)。此外,从8分到24分是一个很大的飞跃

也就是说,可以进行特定版本的推理。请参阅以下文档:

这可能是显而易见的,但这里的警告是,您不希望执行以下代码:

if (version == x) {
  ...
}
else if (version == y) {
    ....
}
else if (version == z) {
   ...
}

我只是指出这一点,因为我确实看到过人们这样做。(如果可能的话,最好在这样的情况下与工厂一起使用某种策略/模板模式)。

不发布是什么意思?我的sdk中已经有了它,当我将项目的构建目标更改为API24时,它会显示此错误,如果我使用旧的GpsStatus,它会警告我不推荐。应该有一些支持库版本的它向后兼容。有预览可用,但这就是全部-预览。安卓7尚未正式向公众发布。看见此外,图书馆仍然支持旧版本;他们并没有在这一点上删除它,只是不推荐使用。