nullpointerexception 仅出现在特定设备中:nexus 7、galaxy tab 2 和一些 Asus tab 设备。初始化 gps 传感器:
locManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER, 10000, 0, locListener);
我认为方法 onlocationchanged 的对象 Location 与另一个设备不同,有多少工作?是不是真的gps传感器?异常点是:代码//
private void mostrarPosicion(Location loc) {
try { if(loc != null)
{ double alturaf;
DecimalFormat df = new DecimalFormat("#");
try{ longi=loc.getLongitude(); } catch(NullPointerException e){ textView1.setText("error longitude"); longi=0;}
try {lat=loc.getLatitude();} catch(NullPointerException e){textView1.setText("erro latitude");lat=0;}
if(longi==0){longi=0.0000001;}
if(lat==0){lat=0.00000001;}
if (lat>35 && longi<55 && longi>(-24)){ europa();}
.... //$
尝试产生异常是 if(loc!=null) 行
在我的清单中:
<uses-feature android:name="android.hardware.location.gps"
android:required="true" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />