banner

Android中获取手机IMEI,IMSI, MAC

最近项目中用到获取手机IMEI,IMSI以及MAC,在此记录一下,方便你我他。。。
那么什么时候会用到这些东西呢?
LZ 个人认为,如果项目当中需要对当前使用用户设备做唯一标识时(证明这个是你用的)可以使用这种方式。当然了这也是LZ个人的一点理解,欢迎大家打脸~
那么首先简单普及一下这三个分别都是什么鬼。。。

1. IMEI
IMEI(International Mobile Equipment Identity)是国际移动设备身份码的缩写,国际移动装备辨识码,是由15位数字组成的”电子串号”,它与每台移动电话机一一对应,而且该码是全世界唯一的。每一只移动电话机在组装完成后都将被赋予一个全球唯一的一组号码,这个号码从生产到交付使用都将被制造生产的厂商所记录。 PS:通俗来讲就是标识你当前设备(手机)全世界唯一,类似于个人身份证,这个肯定唯一啦~
2. IMSI
国际移动用户识别码(IMSI:International Mobile Subscriber Identification Number)是区别移动用户的标志,储存在SIM卡中,可用于区别移动用户的有效信息。其总长度不超过15位,同样使用0~9的数字。其中MCC是移动用户所属国家代号,占3位数字,中国的MCC规定为460;MNC是移动网号码,由两位或者三位数字组成,中国移动的移动网络编码(MNC)为00;用于识别移动用户所归属的移动通信网;MSIN是移动用户识别码,用以识别某一移动通信网中的移动用户
.....
发布者: KNN | 发布日期:2020-04-03 | 所属分类:android | 浏览 ()| 评论()

Android提示版本更新

前言:在软件开发的尾声应该都会遇到这个问题,还好网上资料很多,所以基本不费什么力气就搞定了,现记录于下。这里用的PHP服务器。 效果图:(PHP服务器) 初始界面 检测后,如果已是最新版 如果不是最新版,提示更新 正在下载 安装新程序 一、准备知识 在AndroidManifest.xml里定义了每个Android apk的版本标识: 其中,android:versionCode和android:versionName两个字段分别表示版本代码,版本名称。versionCode是整型数字,versionName是字符串。由于version是给用户看的,不太容易比较大小,升级检查时,可以以检查versionCode为主,方便比较出版本的前后大小...
发布者: KNN | 发布日期:2020-03-22 | 所属分类:android | 浏览 ()| 评论()

Android学习——四大核心组件(核心知识点整理)

Android 开发的四大组件分别是:活动(activity),用于表现功能;服务(service),后台运行服务,不提供界面呈现;广播接受者(Broadcast Receive),勇于接收广播;内容提供者(Content Provider),支持多个应用中存储和读取数据,相当于数据库。1.定义:Activity组件,在应用中的一个Activity可以用来表示一个界面,意思可以理解为“活动”,即一个活动开始,代表Activity组件启动,活动结束,代表一个Activity的生命周期结束。一个Android应用必须通过Activity来运行和启动,Activity的生命周期交给系统统一管理。2.三个基本状态 Resumed 一个新Activity启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并可和用户交互的激活状态。 Paused 当Activity被另一个透明或者Dialog样式的Activity覆盖时的状态。此时它依旧与窗口管理器保持连接,系统继续维护其内部状态,所以它依然可见,但它己经失去了焦点故不可与用户交互。...
发布者: KNN | 发布日期:2020-03-18 | 所属分类:android | 浏览 ()| 评论()

Android应用实现Push推送消息原理

本文介绍在Android中实现推送方式的基础知识及相关解决方案。推送功能在手机开发中应用的场景是越来起来了,不说别的,就我 们手机上的新闻客户端就时不j时的推送过来新的消息,很方便的阅读最新的新闻信息。这种推送功能是好的一面,但是也会经常看到很多推送过来的垃圾信息,这 就让我们感到厌烦了,关于这个我们就不能多说什么了,毕竟很多商家要做广告。本文就是来探讨下Android中实现推送功能的一些解决方案,也希望能够起 到抛砖引玉的作用。...
发布者: KNN | 发布日期:2020-03-15 | 所属分类:android | 浏览 ()| 评论()

Android与js互相调用

本篇主要总结了简单的Android与js互相调用的方法。 在开发过程中遇到了需要在安卓中调用js方法的需求,于是将具体的实现过程总结成这篇博客。其中“调用安卓方法”按钮是html中的按钮;“调用JS方法”按钮是app中的按钮。首先,在app根目录新建一个assets文件夹,并在文件夹内新建一个本地html文件,如下图 接着编写一个简单的html文件可以看到,在本地html中已经有了一个test函数,下面来在安卓中调用这个test函数...
发布者: KNN | 发布日期:2020-03-12 | 所属分类:android | 浏览 ()| 评论()

Android自定义控件的三种实现方式

1.组合原生控件 将自己需要的控件组合起来变成一个新控件,如下制作常见的app页面头部. 新建一个Android项目,创建一个头部布局view_top.xml2.自己绘制控件 熟悉view的绘制原理 1.measure用来测量View的宽和高。 2.layout用来确定View在父容器中放置的位置。 3.draw用来将view绘制在屏幕上 创建一个类CustomView继承View,实现点击事件接口OnClickListener在activity_main.xml中引入该自定义布局:...
发布者: KNN | 发布日期:2020-03-09 | 所属分类:android | 浏览 ()| 评论()

一篇文章一张思维导图看懂Android学习最佳路线(转载)

Android学习路线从4个阶段来对Android的学习过程做一个全面的分析:Android初级、中级、高级以及资深工程师。 只针对Android应用开发,不针对Rom开发和逆向工程等。方便起见虚拟“小D”为成长人物进行描述。 初级工程师 小D之前完全没接触过Android开发,对编程基础、数据结构、C语言都有一定基础,Java语法什么的也都掌握的比较好,并不会搞Android。 首先需要购买一本Android入门的书籍(现在更推荐直接看视频教程结合网上教程动手练习),为了更快地学习Android,小D业余时间也都用来一边看书一边照着书中的例子敲代码,结果2周时间小D就把这本书学了一遍。看完这本书后对Android的历史、结构、代码规范等都有了一个大概的了解,可以写出一些简单的Activity。这个时候在小D眼里,Android开发很简单很好玩,通过在xml中摆放一些按钮文本框什么的就可以做一些界面了。...
发布者: KNN | 发布日期:2020-03-08 | 所属分类:android | 浏览 ()| 评论()

android混淆

这阵子自己的心又长草了,静不下来~又挺迷茫的!在这个纷纷跳槽的季节,感觉还是应该让自己静下心来多学习学习。还是写写博客,总结总结~梳理下心里的野草。 上个月跟朋友讨论了这么一问题:“项目上线之后由于代码被混淆的缘故,导致收集到的异常信息看着很困难”,刚好最近在复习混淆方面的知识,在总结混淆的知识点的同时,顺便探讨总结下这问题。项目上线肯定避免不了的是对项目进行混淆、打包、签名和发布,可能还有APK加固等等,其实这流程并不复杂,都有一套明确的流程,所以整起来也不是很困难。而上面提到的“混淆导致上线后的异常信息查看起来挺困难”这问题,这几天也大概探讨完,打算记录在下篇文章~~那么这篇文章先开始扯淡吧...
发布者: KNN | 发布日期:2020-03-02 | 所属分类:android | 浏览 ()| 评论()

Android文字自动轮播实现

实现也很简单,就是一个进入和出去的动画。可以让文字自动轮播。 首先最简单的两个动画,写在了XML里面,当然也可以写到java中, 第一个in_animation.xml下面就要开始自定义这个自动轮播的TextView了,、 第一步:上网查了下,Android里面已经有了TextSwitcher这个类,我们继承这个类,实现ViewSwitcher.ViewFactory提供的创建TextView的方法即可; 第二步:为了实现轮播,当然是每隔一个时间段就播放一次的效果,我们可以使用Timer定时器,每隔几秒发送一个Message给Handler,handler接受到消息开始更新文字。代码不多,就一下子贴出来吧,类似这样...
发布者: KNN | 发布日期:2020-03-02 | 所属分类:android | 浏览 ()| 评论()

android之官方下拉刷新组件SwipeRefreshLayout

在android开发中,使用最多的数据刷新方式就是下拉刷新了,而完成此功能我们使用最多的就是第三方的开源库PullToRefresh。现如今,google也忍不住推出了自己的下拉组件SwipeRefreshLayout,下面我们通过api文档和源码来分析学习如何使用SwipeRefreshLayout 下面我们来看SwipeRefreshLayout的具体用法,顾名思义此组件就是一个布局,只不过要注意的是此布局内只能有一个直接子View。其实通过文档我们可以知道SwipeRefreshLayout只不过是继承了ViewGroup。 查看文档,我们可以知道,在SwipRefreshLayout中存在一个接口,通过此接口我们可以监听滑动手势,其实使用此组件最重要的步骤就是实现此接口的onRefresh方法,在此方法中实现数据的更新操作。 ...
发布者: KNN | 发布日期:2020-02-29 | 所属分类:android | 浏览 ()| 评论()
  • 当前第一页