cell-id と wifi MAC アドレスを見つけるために、Google Gears Location API を使用しました (緯度/経度を取得します)。ただし、ブラウザを使用せず、Java コードを使用します。この URI を使用しました: http://www.google.com/loc/json
現在、この API は利用できません!! --> https://developers.google.com/gears/
代替が HTML5 であることは理解していますが、私のアプリケーションはブラウザーで実行されません... ブラウザー (単純な HTTP 要求) または代替手段なしで HTML5 API を使用する方法を知っていますか?
参考までに、私の古いコードは次のとおりです。
...
JSONObject root = new JSONObject();
root.put("version", "1.1.0");
root.put("host", "maps.google.com");
JSONArray cell_towers = new JSONArray();
JSONObject cell_tower = new JSONObject();
cell_tower.put("cell_id", 10104);
cell_tower.put("location_area_code", 101);
cell_tower.put("mobile_country_code", 228);
cell_tower.put("mobile_network_code", 1);
cell_tower.put("request_address", true);
cell_tower.put("address_language", "en_GB");
cell_tower.put("age", new Integer(0));
cell_towers.put(cell_tower);
root.put("cell_towers", cell_towers);
String result = postHttp("http://www.google.com/loc/json", root);
}
...
private static String postHttp(String urlToUse, JSONObject data) throws Exception {
StringBuilder respBuilder = new StringBuilder();
if (urlToUse.length() == 0) {
return null;
}
URL url;
try {
url = new URL(urlToUse);
} catch (MalformedURLException ex) {
return null;
}
URLConnection urlCon;
try {
urlCon = url.openConnection();
urlCon.setDoOutput(true);
OutputStream wr = urlCon.getOutputStream();
if (data != null) {
String dd = data.toString();
wr.write(dd.getBytes());
}
wr.flush();
int len = urlCon.getContentLength();
if (len != 0) {
BufferedReader reader = new BufferedReader(new InputStreamReader(urlCon.getInputStream(), "UTF-8"));
String line="";
while ((line = reader.readLine()) != null) {
respBuilder.append(line + "\n");
}
return respBuilder.toString().trim();
} else {
return null;
}
} catch (IOException ex) {
return null;
}
}