android 获取手机上面的IMSI序列号,IMEI,MAC地址,IP地址,当前时间,当前经纬度,获取网络类型_刘永祥的博客-程序员秘密

技术标签: 手机网络类型  手机经纬度  android  IMSI  

// 获取IMSI
    public void getIMSI(Context context) {
        TelephonyManager telManager = (TelephonyManager) context
                .getSystemService(Context.TELEPHONY_SERVICE);
        String imsi = telManager.getSubscriberId();
        setIMSI(imsi);
    }`
// 获取IMEI
    public void getIMEI(Context context) {
        String imei = ((TelephonyManager) context
                .getSystemService(Context.TELEPHONY_SERVICE)).getDeviceId();
        setIMEI(imei);
    }
    // 在WiFi状态下获取IP的地址
    public void getWifi2Ip(Context context) {
        // 获取wifi服务
        WifiManager wifiManager = (WifiManager) context
                .getSystemService(Context.WIFI_SERVICE);
        // 判断wifi是否开启
        if (!wifiManager.isWifiEnabled()) {
            wifiManager.setWifiEnabled(true);
        }
        WifiInfo wifiInfo = wifiManager.getConnectionInfo();
        int ipAddress = wifiInfo.getIpAddress();
        String ip = intToIp(ipAddress);
        }
        // GPRS本地网络时获取的IP地址
    public void getLocalIpAddress() {
        try {
            for (Enumeration<NetworkInterface> en = NetworkInterface
                    .getNetworkInterfaces(); en.hasMoreElements();) {
                NetworkInterface intf = en.nextElement();
                for (Enumeration<InetAddress> enumIpAddr = intf
                        .getInetAddresses(); enumIpAddr.hasMoreElements();) {
                    InetAddress inetAddress = enumIpAddr.nextElement();
                    if (!inetAddress.isLoopbackAddress()) {
                                    }
                }
            }
        } catch (SocketException ex) {
        }
    }
/**
     * 得到当前的手机网络类型
     * 
     * @param context
     * @return
     */
    public String getCurrentNetType(Context context) {
        String type = "";
        ConnectivityManager cm = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo info = cm.getActiveNetworkInfo();
        if (info == null) {
            type = "null";
        } else if (info.getType() == ConnectivityManager.TYPE_WIFI) {
            type = "wifi";
        } else if (info.getType() == ConnectivityManager.TYPE_MOBILE) {
            int subType = info.getSubtype();
            if (subType == TelephonyManager.NETWORK_TYPE_CDMA
                    || subType == TelephonyManager.NETWORK_TYPE_GPRS
                    || subType == TelephonyManager.NETWORK_TYPE_EDGE) {
                type = "2g";
            } else if (subType == TelephonyManager.NETWORK_TYPE_UMTS
                    || subType == TelephonyManager.NETWORK_TYPE_HSDPA
                    || subType == TelephonyManager.NETWORK_TYPE_EVDO_A
                    || subType == TelephonyManager.NETWORK_TYPE_EVDO_0
                    || subType == TelephonyManager.NETWORK_TYPE_EVDO_B) {
                type = "3g";
            } else if (subType == TelephonyManager.NETWORK_TYPE_LTE) {
   // LTE是3g到4g的过渡,是3.9G的全球标准
                type = "4g";
            }
        }
        return type;
    }
    /**
     * 通过wifiManager获取mac地址
     * @attention Wifi
     * @return Mac Address
     */
    public void getMacFromWifi(Context context){
        WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);   
        if (!wifiManager.isWifiEnabled()) {   
            wifiManager.setWifiEnabled(true);    
        }   
        WifiInfo wifiInfo = wifiManager.getConnectionInfo();       
        String mac = wifiInfo.getMacAddress();
        }
        // 获取当前时间
    public String time() {
        long time = System.currentTimeMillis();
        SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
        Date date = new Date(time);
        String strTime = format.format(date);
        return strTime;
    }

点击下载源码
欢迎加入Android技术交流群 50208422或Android交流群 470707794

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u014452224/article/details/49837847

智能推荐

杭电hdu 1248 寒冰王座 完全背包_wchyumo2009的博客-程序员秘密

http://acm.hdu.edu.cn/showproblem.php?pid=1248注意与0-1背包的区别#include #include int max(int a, int b){ return a > b ? a : b;}int main(){ int t; int n; int arr[3] = {150, 200, 350}; int i,

php下的浮点运算不准,PHP下的浮点运算不准的解决方法_weixin_39602560的博客-程序员秘密

摘要:下面小编就为大家带来一篇PHP下的浮点运算不准的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。最近在做一个?的相加减问题是,出现了浮点运算不准的情况,看来都说解释型语言对于浮点运算都会有问题的说法是真的。首先看一段代码:...

Maven搭建,配置mirror阿里云镜像,配置本地仓库_aliyun mirror_tianmaster的博客-程序员秘密

文章目录1、Maven1.1什么是Maven?为什么要学习Maven?1.2Maven 项目架构管理工具1.3配置Maven环境变量1.4阿里云镜像1.5本地仓库1.6在idea中配置maven1、Maven1.1什么是Maven?为什么要学习Maven?在JavaWeb开发中,需要导入大量的jar包,Maven可以自动的导入和配置jar包,我们为了方便使用,引入了Maven(工具) ,1.2Maven 项目架构管理工具我们目前就是用来方便导入jar包的;Maven思想 : 规定&gt;配置

Javase 基础中必须要掌握的19个编程_会种地的DT男的博客-程序员秘密

1.数组的逆序public void getReverse1(int[]arr) { int start=0; int end=arr.length-1; for(int i=0;i&amp;lt;arr.length/2;i++) { int temp=arr[start]; arr[start]=arr[end]; ...

10位和13位的时间戳_choucui0160的博客-程序员秘密

今天遇到一个问题 就是通过js将获取得到的“2019-07-10 00:00:00”转换成new Date,在通过getTime方法获取时间戳,发现得到的时间戳是13位。 而后台要的是10位的。 问题1:为什么会生成13位的时间戳,13位的时间戳和10时间戳分别是怎么来的 date默认精...

伟东山视频自学笔记——LIBS+=到底如何用_李潇洒洒的博客-程序员秘密

MB的到底LIBS+=如何用!!!!!!语法是 LIBS+= -L直接打地址 -l直接打库名注意点:-L后面没有空格,直接跟着地址,然后空格,-l后面是去掉lib之后的文件名。(真TMDSB!) 一个例子:如我们有E:CLibrariesNewmatLdebuglibNewmatL.a这个文件,则: LIBS += -LE:CLibrariesNewmatLdebug -l

随便推点

python基础编程语法-Python编程入门——基础语法详解_weixin_37988176的博客-程序员秘密

今天小编给大家带来Python编程入门——基础语法详解。一、基本概念1.内置的变量类型:Python是有变量类型的,而且会强制检查变量类型。内置的变量类型有如下几种:#浮点float_number=2.3#复数complex_number=1+5j#整型integer_number=1#list 序列sample_list=[2,52,36,'abc']#嵌套sample_nest=[(2,4,6...

ISO8583报文协议详解_weixin_34245169的博客-程序员秘密

ISO8583包(简称8583包)是一个国际标准的包格式,最多由128个字段域组成,每个域都有统一的规定,并有定长与变长之分。8583包前面一段为位图,用来确定包的字段域组成情况。其中位图是8583包的灵魂,它是打包解包确定字段域的关键,而了解每个字段域的属性则是填写数据的基础。1、位图描述如下:位图位置:1格式:定长类型:B16(二进制16位,16*8=128bit...

HTTP协议原理及java实现:数据的基本传输模式_tyler_download的博客-程序员秘密

zu说到基于TCP协议的上层协议,绝对绕不开的是HTTP协议,在其设计之初,设计者绝对想不到该协议具备的灵活性能够让其成为最广泛使用的TCP上层协议,在我看来HTTP协议几乎能够取代任何基于TCP的上层协议,如今基于互联网的绝大多数移动应用,他们使用的都是HTTP协议,甚至苹果专用的流媒体传输协议HLS,使用的也是HTTP协议,同时现在非常流行的所谓小程序,它们也要基于HTTP协议实现客户端与服务...

Android 集成小米推送功能教程_enablemipush(buildconfig.mi_app_id, buildconfig.mi_会飞的鱼儿android的博客-程序员秘密

1、前言现在好多手机都有APP推送功能,也有好多第三方的SDK,那为什么还要集成只有小米手机好使的“小米推送”呢?因为在小米手机中,小米推送是“系统级通道”,就是在APP关闭的情况下,也能很快的到达。而第三方SDK只能通过自己的代码进行保活,效果远远达不到小米推送的效果,所以如果是小米手机,用小米推送效果会更好。完美推送功能总结+集成极光推送:https://blog.csdn.net/f...

推荐文章

热门文章

相关标签