繁体   English   中英

Android - 尝试在模拟器上测试GPS时出错

[英]Android - error when try to test GPS on Emulator

我想测试一下在android上使用GPS的简单简介。 所以我写一个这样的简单代码:

public class main extends Activity{
LocationManager mLocationManager;
TextView tv;
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    tv = (TextView)findViewById(R.id.myLocationText);
    mLocationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);

    Criteria criteria = new Criteria();
    criteria.setAccuracy(Criteria.ACCURACY_FINE);
    criteria.setPowerRequirement(Criteria.POWER_LOW);
    String locationprovider = mLocationManager.getBestProvider(criteria, true);
    Location mLocation = mLocationManager.getLastKnownLocation(locationprovider);

    tv.setText("Last location lat:" + mLocation.getLatitude() + "long:" + mLocation.getLongitude());
}

}

另外,在AndroidManifest上我添加了use-permission,如下所示:

    <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

但是当我尝试在Android模拟器上运行时,我得到错误“意外停止”并关闭此应用程序。 我也加入了DDMS的尝试。 但我对这个错误一无所知。

我在实际设备中也遇到过类似的问题。 听众接收新位置的频率太高,无法更新我的TextViev。 我通过一些同步解决了它,如果当时正在刷新,则跳过View刷新。

在你的情况下,因为你没有使用监听器,我会检查NullPointerExceptions

您可能没有将Android API用于Android模拟器,这就是为什么您无法访问GoogleMapAPı并遭遇类似崩溃的原因。

有关设置模拟器以使用地图的详细信息,请查看此信息。

http://code.google.com/android/add-ons/google-apis/maps-overview.html

这是因为您从模拟器中使用它并且它没有任何与gps相关的硬件。

这是一个解决方案

要从命令行发送模拟位置数据:

在Android模拟器中启动您的应用程序,并在SDK的/ tools目录中打开终端/控制台。 连接到模拟器控制台:

telnet localhost <console-port>

发送位置数据:geo fix以发送固定的地理位置。 此命令接受十进制度的经度和纬度,以及米的可选高度。 例如:

geo fix -121.45356 46.51119 4392

geo nmea发送NMEA 0183句子。 此命令接受单个“$ GPGGA”类型的NMEA语句(修复数据)或“$ GPRMC”(传输数据)。 例如:

geo nmea $GPRMC,081836,A,3751.65,S,14507.36,E,000.0,360.0,130998,011.3,E*62

来源: http//developer.android.com/guide/topics/location/obtaining-user-location.html

另请参阅此链接: http//developer.android.com/guide/developing/devices/emulator.html#console

这是一个API KEY问题。 你可以尝试申请一个新的API KEY在谷歌地图API密钥。
您的代码是正确的,没有显示任何错误。

也许这个答案可以帮助您解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM