android getlastknownlocation在模拟器中始终为null

 刁琼婉 发布于 2023-01-29 10:56

这似乎是一个普遍的问题,但我真的不明白为什么它会发生,即使我读了很多类似的问题.

我在模拟器设备上玩一个基本的位置类,我设置了所有内容 - 权限(FINE和COARSE),我在DDMS中设置了坐标我也尝试使用telnet然后,但无论它总是崩溃与nullpointer与getlastknownlocation一致的例外,这里有什么想法吗?

public class MainActivity extends Activity implements LocationListener {



private static LocationManager ok;
private Location L;

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



    ok=(LocationManager)this.getSystemService(ok.GPS_PROVIDER);
    L=ok.getLastKnownLocation(ok.GPS_PROVIDER);












}

@Override
public void onLocationChanged(Location Loc) {


    try {


        double latop=Loc.getLatitude();
        double longe=Loc.getLongitude();

        Log.i("OK", "and"+longe+""+latop);


    } catch (NullPointerException e)

    {

    }




}

CommonsWare.. 8

getLastKnownLocation()null如果没有应用程序最近请求您所需提供商的位置修复,则通常会返回.

在模拟器上,它似乎更进了一步:除非你的应用程序调用了一个位置,否则你没有得到一个位置requestLocationUpdates().

getLastKnownLocation()如果您想要获得实际的可能性,使用的一般模式Location是使用requestLocationUpdates()removeLocationUpdates()确保LocationManager通过您选择的提供商积极寻找位置.当然,你也可以使用LocationListeneronLocationChanged(),而不是getLastKnownLocation(),如果你愿意的选择.

1 个回答
  • getLastKnownLocation()null如果没有应用程序最近请求您所需提供商的位置修复,则通常会返回.

    在模拟器上,它似乎更进了一步:除非你的应用程序调用了一个位置,否则你没有得到一个位置requestLocationUpdates().

    getLastKnownLocation()如果您想要获得实际的可能性,使用的一般模式Location是使用requestLocationUpdates()removeLocationUpdates()确保LocationManager通过您选择的提供商积极寻找位置.当然,你也可以使用LocationListeneronLocationChanged(),而不是getLastKnownLocation(),如果你愿意的选择.

    2023-01-29 10:59 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有