Android Studio 对onLocationChanged的引用不明确

chhkpiq4  于 2023-02-05  发布在  Android
关注(0)|答案(1)|浏览(154)

我正在尝试使用实现LocationListener创建一个速度计。但是,当调用onLocationChanged时,它会说对onLocationChanged的引用不明确

我的代码:

//speedometer and llocation servie
if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
    Toast.makeText(this, "First enable LOCATION ACCESS in settings.", Toast.LENGTH_LONG).show();
    return;
}
LocationManager lm =(LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,0,0,this);
this.onLocationChanged(null);

尝试了一段时间后,我意识到这是因为这是做它可能是不赞成的
所以我尝试tweeking compile sdk从32到29,看起来消除了这个错误,但是增加了很多库相关的编译错误......有人请帮助!
先谢了
如果你有别的方法做速度表,请告诉我

xiozqbni

xiozqbni1#

该错误指示该方法有两个签名:

onLocationChanged(List<Location> locations)
onLocationChanged(Location location)

当使用null时,编译器无法确定您的目标是两个方法中的哪一个。您需要将null强制转换为LocationList

this.onLocationChanged((Location) null);
this.onLocationChanged((List<Location>) null);

相关问题