API 22中的LocationListener问题
创始人
2024-09-07 00:30:09
0

在API 22中,LocationListener接口已经被标记为过时。取而代之的是使用FusedLocationProviderClient类来获取设备的位置信息。以下是一个解决方案的代码示例:

首先,确保在build.gradle文件中添加以下依赖项:

implementation 'com.google.android.gms:play-services-location:17.0.0'

然后,创建一个FusedLocationProviderClient对象:

private FusedLocationProviderClient fusedLocationClient;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    fusedLocationClient = LocationServices.getFusedLocationProviderClient(this);
}

接下来,可以使用getLastLocation()方法来获取设备的最后已知位置:

fusedLocationClient.getLastLocation()
    .addOnSuccessListener(this, new OnSuccessListener() {
        @Override
        public void onSuccess(Location location) {
            if (location != null) {
                // 处理位置信息
                double latitude = location.getLatitude();
                double longitude = location.getLongitude();
                // ...
            }
        }
    });

如果需要实时更新设备的位置信息,可以使用requestLocationUpdates()方法:

LocationRequest locationRequest = LocationRequest.create();
locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
locationRequest.setInterval(10000); // 每10秒更新一次位置

fusedLocationClient.requestLocationUpdates(locationRequest,
        new LocationCallback() {
            @Override
            public void onLocationResult(LocationResult locationResult) {
                if (locationResult != null) {
                    List locations = locationResult.getLocations();
                    if (!locations.isEmpty()) {
                        Location location = locations.get(0);
                        // 处理位置信息
                        double latitude = location.getLatitude();
                        double longitude = location.getLongitude();
                        // ...
                    }
                }
            }
        },
        Looper.getMainLooper());

记得在适当的时候停止监听位置更新:

fusedLocationClient.removeLocationUpdates(locationCallback);

以上就是在API 22中使用FusedLocationProviderClient获取设备位置信息的解决方案。

相关内容

热门资讯

透视辅助!微扑克中牌率(wep... 透视辅助!微扑克中牌率(wepoker)外挂透明挂辅助挂(透视)透牌教程(有挂方式)-哔哩哔哩1、很...
一分钟教会你!云扑克(WepO... 一分钟教会你!云扑克(WepOke)外挂透明挂辅助APP(辅助挂)细节方法(有挂详细)-哔哩哔哩;1...
科普常识!欢乐棋牌(wepOk... WePoker透视辅助版本稳定性对比与推荐‌:科普常识!欢乐棋牌(wepOkE)外挂透明挂辅助工具(...
今日焦点!鱼扑克辅助(wePO... 今日焦点!鱼扑克辅助(wePOKE)外挂透明挂辅助脚本(辅助挂)详细教程(有挂教学)-哔哩哔哩;鱼扑...
大家学习交流(轰趴大菠萝)外挂... 《大家学习交流(轰趴大菠萝)外挂透明挂辅助神器(透视)软件透明挂(2025已更新)(哔哩哔哩)》 轰...
一分钟快速了解!cloudpo... 1、一分钟快速了解!cloudpoker云扑克(WEpoke)外挂透明挂辅助挂(透视)解密教程(有挂...
重大通报(wpk插件)外挂透明... 重大通报(wpk插件)外挂透明挂辅助软件(透视)透视辅助(2021已更新)(哔哩哔哩);(需添加指定...
透视辅助!wepoke数据(w... 透视辅助!wepoke数据(wepoker)外挂透明挂辅助工具(透视)必胜教程(有挂方法)-哔哩哔哩...
重大发现(wepokeai)外... 重大发现(wepokeai)外挂透明挂辅助工具(透视)德州ai机器人(有人有挂)-哔哩哔哩1、很好的...
透明神器(微扑克钻石)外挂透明... 透明神器(微扑克钻石)外挂透明挂辅助脚本(透视)透视辅助(2022已更新)(哔哩哔哩);玩家在微扑克...