在内网环境中,Android设备无法通过GPS卫星直接确定它的位置信息,但可以通过其他方式获取到位置信息。以下是两种解决方案:
在内网环境中,我们可以使用手机所连接的基站信号和Wi-Fi信号来确定其大概位置。Android提供了基站定位和Wi-Fi定位功能,在网络提供商的信息中可以获取到相关的位置信息。
示例代码:
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); Criteria criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_COARSE); String provider = locationManager.getBestProvider(criteria, true); Location location = locationManager.getLastKnownLocation(provider);
我们可以在内网环境中搭建一个GPS服务器,将GPS信息发送到该服务器,再在Android设备中使用网络请求的方式从服务器获取GPS信息。
示例代码:
// 服务器端代码
import java.net.;
import java.util.;
class GPSServer {
private static final int PORT = 8888;
private static Map
// Android端代码 private void getGPSInfoFromServer(String deviceId) { final String url = "http://your_host:8888/" + deviceId; new Thread(new Runnable() { @Override public void run() { try { HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection(); BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line = null; StringBuilder response = new StringBuilder(); while ((line = reader.readLine()) !=
上一篇:Android网络服务器请求
下一篇:Android网络问题 - Udacity Android网络最终项目(使用Google Book API和LoadManager/ AsyncTaskLoader)