android获取手机真实时间与时区,IP地址
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android获取手机真实时间与时区,IP地址相关的知识,希望对你有一定的参考价值。
如题,android有代码可以获得当前系统时间,时区,IP地址等这些信息,但是这是存在漏洞的。
现在有这样的需求,因为客户在使用android手机的时候,他不一定是固定在某个国家,可能今天在日本,明天乘坐飞机到了台湾。假设客户在日本操作了项目,在台湾也操作了项目,会插入 时间/时区/IP地址等这些信息到数据库。所以如果只是获取手机系统时间的话,这个是不准确的,甚至如果有人恶作剧,将手机时区乱设一通,那这样的数据就没有太大的意义了。
所以应该明白需求了,我需要获取手机真实的时间/时区/IP地址等这些信息。
网上也搜了很多办法,有的说用NTP服务器来获取当前时间,可惜网上都是盗版,copy下来的代码运行不了。
也有的说有这么几种办法:
通过NTP服务器,获取当前时间。
开启WIFI,通过internet获取时间。
开启GPS,通过GPS获取时间。
目前我也正在通过这三种方法去网上找相关的资料,不过目前已经花费了一定的时间,没有找到什么有用的东西,倒是通过GPS获取经纬度给弄出来了。各位朋友谁做过这样的,或者谁能搜到有用的网址,请回复我,只要是能真实的解决问题的,哪怕只是给出了一个网址,我也会给分,谢谢!!
很头疼啊,虽然确实根据经纬度,可以知道手机是存在哪个时区内,然后计算出当前时间。可是一个是这样有点复杂,另外一个是,这样还缺少了IP地址这个数据。
在公司测试的时候,用的公司的内部网络,测试出来的地址就是192.168.1.xxx 这样的地址,完全不是我想要的,得到这样的地址毫无意义
获取ip地址的就得先连接网络吧,这个就没搞过了。。
参考技术A 手机打开了通过网络同步时间(手机网络同步时间),应该可以直接通过JAVA的类取得时间、时区等地理信息System.out.println("Current time zone: " + TimeZone.getDefault().getID());
IP地址,可以访问apnic来分析网页取真实的IP。追问
如果用户没有开启WIFI或者3G网络呢?或者用户自行设定了一个错误的时间,那么TimeZone.getDefault() 这样的方式,得到的数据就不是想要的了。
至于IP地址这个,给出这个思路倒是还行,不过其实直接访问百度,输入“IP”,就可以显示目前上网的IP了。不过这些操作是需要由android的app去操作,可行性有待诊断
呀,想是这么想,不过不知道怎么实现代码,也没找到相关的网页。
php获取用户真实ip地址与地理位置
echo getcposition(getIP());
//获取用户真实ip
function getIP()
if (isset($_SERVER))
if (isset($_SERVER[HTTP_X_FORWARDED_FOR]))
$realip = $_SERVER[HTTP_X_FORWARDED_FOR];
elseif (isset($_SERVER[HTTP_CLIENT_IP]))
$realip = $_SERVER[HTTP_CLIENT_IP];
else
$realip = $_SERVER[REMOTE_ADDR];
else
if (getenv("HTTP_X_FORWARDED_FOR"))
$realip = getenv("HTTP_X_FORWARDED_FOR");
elseif (getenv("HTTP_CLIENT_IP"))
$realip = getenv("HTTP_CLIENT_IP");
else
$realip = getenv("REMOTE_ADDR");
return $realip;
//获取ip地址的地理位置
function getcposition($ip)
//这个api不能频繁调用
$res1 = file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=$ip");
$res1 = json_decode($res1, true);
//print_r($res1);
if ($res1["code"] == 0)
return $res1['data']["country"] . $res1['data']["region"] . $res1['data']["city"] . "_" . $res1['data']["isp"];
else
return "未知";
以上是关于android获取手机真实时间与时区,IP地址的主要内容,如果未能解决你的问题,请参考以下文章
如何以编程方式获取android手机的IP地址......? [复制]