我没有成功尝试让 GPS 位置在 Android 下为我的应用程序工作。我想知道我可能做错了什么。到目前为止,我已经尝试了以下方法:
- 通过 Android 应用即时获取 GPS 位置
- http://www.javacodegeeks.com/2010/09/android-location-based-services.html
- http://about-android.blogspot.de/2010/04/find-current-location-in-android-gps.html
以及许多其他人,但都是徒劳的。
考虑到上述所有解决方案都适用于某些人或其他人,我将使用这个来调试:
package my.namespace;
import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
public class HomeActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
LocationListener ll = new mylocationlistener();
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, ll);
}
private class mylocationlistener implements LocationListener {
public void onLocationChanged(Location location) {
if (location != null) {
Log.d("LOCATION CHANGED", location.getLatitude() + "");
Log.d("LOCATION CHANGED", location.getLongitude() + "");
Toast.makeText(HomeActivity.this,
location.getLatitude() + "" + location.getLongitude(),
Toast.LENGTH_LONG).show();
}
}
public void onProviderDisabled(String provider) {
}
public void onProviderEnabled(String provider) {
}
public void onStatusChanged(String provider, int status, Bundle extras) {
}
}
}
@override
这3 种方法都有注释onProviderDisabled
,onProviderEnabled
并且onStatusChanged
. 我不得不删除它们,因为 Eclipse 给出了一个错误,即这些方法没有覆盖超类。
我已在清单文件(ACCESS_FINE_LOCATION
、、ACCESS_MOCK_LOCATION
和)ACCESS_COARSE_LOCATION
中添加了权限。INTERNET
有谁知道我可能做错了什么?
编辑:在模拟器上运行(Android 2.2 API 8)