Android手机做热点时,如何获取连过来设备的具体信息?

1、连接过来的设备的信息存放在/data/misc/dhcp/dnsmasq.leases中

2、它的格式是:

/系统id,不需取值/client mac地址/client ip地址/ client device name/加权后mac地址,也不需取值

<span style="font-size:14px;">1357041758 88:00:12:34:56:78 192.168.43.133 android-184cc6c105d7a3b 01:88:00:12:34:56:78</span>

2、参考WifiServie.java的getClientIp()方法,可以自定义这个方法取得device name,具体如下:

<span style="font-size:14px;">public String getClientDeviceName(String deviceAddress) {//传mac地址进来
enforceAccessPermission();
if (TextUtils.isEmpty(deviceAddress)) {
return null;
}
//读取对应的文件信息
for (String s : readClientList("/data/misc/dhcp/dnsmasq.leases")) {
if (s.indexOf(deviceAddress) != -1) {
String[] fields = s.split(" ");
//校验数据是否破损
if (fields.length > 4) {
//返回第4个栏位
return fields[3];
}
}
}
return null;
}</span>

转载请注明出处:周木水的CSDN博客 http://blog.csdn.net/zhoumushui

我的GitHub:周木水的GitHub https://github.com/zhoumushui

时间: 2024-10-04 04:19:39

Android手机做热点时,如何获取连过来设备的具体信息?的相关文章

winPcap_4_获取已安装设备的高级信息

由 pcap_findalldevs_ex() 返回的每一个 pcap_if 结构体,都包含一个 pcap_addr 结构体,这个结构体由如下元素组成: 一个地址列表 一个掩码列表 (each of which corresponds to an entry in the addresses list). 一个广播地址列表 (each of which corresponds to an entry in the addresses list). 一个目的地址列表 (each of which

Android手机做无线中继路由器

为什么要拿手机做路由器?因为我现在每天要带着一个火柴盒大小的路由器(703n).它提供了一个f了q的无线网络,电脑,手机,平板等设备连接上这个无线网络之后之后就可以自由上twitter,看youtube.但是它还不够理想.,我不希望在拥挤的包里再塞一个设备,我还希望在路上只有3G网络没有USB电源的地方也可以刷刷twitter.最好的设备莫过于手机了. 手机拿来做fq路由器最大的缺陷在于,它不是一个路由器.最开始手机都是处于网络的终端,要么接收3G信号,要么接收wifi信号.后来技术发展之后,手

用自己的Android手机做迷你短信机

1.Android httpserver 和 http调试 Android http server  : httpcore PC http client  : httpdebug 2.短信发送 Android自带的android.telephony.SmsManager包 3.源码: package com.example.httpservertest; import java.io.IOException; import java.io.InterruptedIOException; impo

【Android端 APP 启动时长获取】启动时长获取方案及具体实施

一.什么是启动时长? 1.启动时长一般包括三种场景,分别是:新装包的首次启动时长,冷启动时长.热启动时长 冷启动 和 热启动 : (1)冷启动:当启动应用时,后台没有该程序的进程,此时启动的话系统会分配一个新的进程给应用. (2)热启动:程序的进程依然存在,启动时通过已有进程启动进入到Activity显示页面的,就是热启动,或者从Android官网来看我们获取到的其实是温启动时长,就是Activity不存在的情况. (3)新装包的启动时长: 新装包的启动时长,预估是最长的,并且在5.0以下及5.

关于部分Android手机安装apk,无法获取正常的logo

最近出现过类似的问题,主要出现是在,MediaPad X1 7.0和MediaPad M1 8.0. 发布应用的时候明明配置好了图标的,但是始终找不到原因,郁闷了好几个小时,也浪费了好几个小时. 如果华为的系统开发的哥们,看到了做个优化吧,为了华为的品质,多写几行代码吧. ---------------------------------------------------------- 一.首先看下这篇blog,这个是缓存问题,是主要原因. http://bbs.csdn.net/topics

android手机旋转屏幕时让GridView的列数与列宽度自适应

无意中打开了一年前做过的一个android应用的代码,看到里面实现的一个小功能点(如题),现写篇文章做个笔记.当时面临的问题是,在旋转屏幕的时候需要让gridview的列数与宽度能自适应屏幕宽度,每个单元格之间还需要保留一定的间距.因为每款手机的屏幕宽度不都相同,我们在指定了单元格的宽度与间距之后,并不能确定每行中所能容纳的单元格数量,这个数量必须在运行时通过计算得出,同样,我们设置的单元格宽度和间距不能保证刚好容纳在屏幕宽度内,为了解决这个问题,设计了一个简单的算法,首先需要预先指定单元格的宽

手机应用注册时,获取国际电话区号列表完美解决方案

一.首先下载Google的libphonenumber库,https://github.com/googlei18n/libphonenumber 通过库中的PhoneNumberUtil类的getSupportedRegions()获取所支持的所有国家和地区,再通过getCountryCodeForRegion()依次迭代出每个国家和地区对应的区号, 二.通过国家代码获取国家名称,下载https://github.com/umpirsky/country-list 里面有各种语言.各种格式的数

无废话Android之内容观察者ContentObserver、获取和保存系统的联系人信息、网络图片查看器、网络html查看器、使用异步框架Android-Async-Http(4)

1.内容观察者ContentObserver 如果ContentProvider的访问者需要知道ContentProvider中的数据发生了变化,可以在ContentProvider 发生数据变化时调用getContentResolver().notifyChange(uri, null)来通知注册在此URI上的访问者,例子如下: private static final Uri URI = Uri.parse("content://person.db"); public class

android studio 运行代码时device不能识别genymotion设备

一.网上的解决方法: 相信网上关于下载安装配置genymotion的教程很多(下面的a,b,c,d步骤都可以参考百度搜索出来的教程轻松搞定),但还有关键的最后一步设置才能最终成功,不幸的是,很多教程都没有提到它.所以我就遇到了问题,现在已经解决,整理粗来,给伙伴们参考. 我的问题:我已经a. 安装了genymotion,b. 安装了genymotion shell,c. 安装了oracal VM VirtualBox,d. 在android studio上安装了genymotion plugin