私はこのコードを持っています。
lm = (LocationManager)
getSystemService(Context.LOCATION_SERVICE);
gpslocation = Double.toString(lm.getLastKnownLocation("gps").getLatitude()) +" "
+ Double.toString(lm.getLastKnownLocation("gps").getLongitude());
これは、エミュレーターとandroid 1.5を実行している私のヒーローの両方で正常に機能しますが、1.6のエミュレーターと私のタトゥーでは強制終了します。
1.5から1.6に何が変わりましたか?
OK、代わりにこれを使用します。
lm = (LocationManager)
getSystemService(Context.LOCATION_SERVICE);
Double latPoint = null;
Double lngPoint = null;
Location loc = lm.getLastKnownLocation("gps");
if(loc != null) {
latPoint = lm.getLastKnownLocation("gps").getLatitude();
lngPoint = lm.getLastKnownLocation("gps").getLongitude();
} else {
}
Toast.makeText(getBaseContext(),"test lat " + latPoint, Toast.LENGTH_LONG).show();
アプリを実行する前にエミュレーターで場所を起動すると、nullトーストが発生し、nullトーストが発生します。