2011-11-25 127 views
1

我想测试在android上使用GPS的简单说明。所以我写了一个简单的代码是这样的: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我添加使用许可权是这样的:

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

,但是当我尝试在Android模拟器上运行我获取错误“意外停止”并关闭此应用程序。我也添加了一些DDMS的尝试。但我没有任何关于这个错误的想法。

+1

什么说的logcat的?哪条线发生崩溃? – stefan

+0

在这里检查http://stackoverflow.com/questions/8265005/android-error-test-gps-on-emulator/8265067#comment10173534_8265067 – MKJParekh

回答

2

我也有在真实设备类似的问题。听众接收新位置的频率太高,无法更新我的TextViev。我用一点同步解决了它,并且在当前正在刷新的情况下跳过View刷新。

就你而言,由于你不使用监听器,我会检查NullPointerExceptions

+1

问题解决。 thans to @Mister smith我添加了这样的排序代码 if(location!= nul){ } else {} thanks mate :) – DevYudh

0

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

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

1

这是因为你正在使用它从模拟器,它没有任何与GPS相关的硬件。

这里是一个解决方案

要通过命令行发送模拟位置数据:在Android模拟器

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

telnet localhost <console-port> 

发送的位置数据: 地理固定到发一组固定的地理位置。 该命令以十进制度数接受经度和纬度,并以米为单位选择一个可选高度。例如:

geo fix -121.45356 46.51119 4392 

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

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

+0

我知道模拟器和设备。但肯定不是你正在考虑的。无论如何感谢您的答复@阿伦 – DevYudh

相关问题