tôi Tring sử dụng gps trên giả lập android, tôi đã đoạn mã sau:Android - Không thể có được vị trí gps trên giả lập
public class NL extends Activity {
private LocationManager locmgr = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.nl);
locmgr = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria crit = new Criteria();
crit.setAccuracy(Criteria.ACCURACY_FINE);
String provider = locmgr.getBestProvider(crit, true);
Location loc = locmgr.getLastKnownLocation(provider);
Toast msg = Toast.makeText(this, "Lon: " + Double.toString(loc.getLongitude()) + " Lat: " + Double.toString(loc.getLatitude()), Toast.LENGTH_SHORT);
msg.show();
}
}
tôi đã thêm dòng sau vào manifest:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
và tôi đã thiết lập gps vị trí với phương pháp DDMS và một trong hai phương pháp sửa chữa địa lý, nhưng khi tôi chạy mã này, tôi nhận được một NullPointerExeption tại dòng Toast, có lẽ gây loc là null .
Tôi không hiểu vị trí của lỗi ... bạn có thể giúp tôi không?
CẬP NHẬT!
Cảm ơn sự giúp đỡ của bạn, bây giờ tôi sử dụng mã sau và tôi không nhận được bất kỳ lỗi nào, nhưng nó không chạy mã bên trong onChangeLocation ... nó không chạy Bánh mì nướng và không trả lại bất kỳ tin nhắn trong nhật ký!
public class NL extends Activity {
private LocationManager locmgr = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.nl);
locmgr = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
// Define a listener that responds to location updates
LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location loc) {
// Called when a new location is found by the network location provider.
Log.i("NOTIFICATION","onLocationChenged Triggered");
Toast msg = Toast.makeText(NetworkLocator.this, "Lon: " + Double.toString(loc.getLongitude()) + " Lat: " + Double.toString(loc.getLatitude()), Toast.LENGTH_SHORT);
msg.show();
}
public void onStatusChanged(String provider, int status, Bundle extras) {}
public void onProviderEnabled(String provider) {}
public void onProviderDisabled(String provider) {}
};
// Register the listener with the Location Manager to receive location updates
locmgr.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);
}
}
Cảm ơn!
bạn đã xác minh xem * locmgr.getBestProvider * có thực sự trả về "gps" không? anyway, bạn chắc chắn nên thực hiện một * LocationListener * và chuyển nó đến LocationManager với * requestLocationUpdates() * –
getBestProvider trả về "gps". có tôi để thêm một locationlistener ngay cả khi tôi cố gắng để có được locatio với lastKnownLocation? cảm ơn sự giúp đỡ của bạn –
@Marco Faion Xin vui lòng giữ cho câu trả lời ur cập nhật ... Tôi đã trả lời đã một lần cho bạn và bạn đã không đưa ra bất kỳ phản hồi nào về câu trả lời! > 'http: // stackoverflow.com/questions/4591765/android-sqlite-database-method-undefined-fot-type/4591843 # 4591843' – Beasly