android获取地址
① android 设备如何获取mac地址吗
获取mac地址的话,可以在命令行窗口获取,代码如下:
Android 底层是 linux,我们还是用Linux的方法来获取:
1 cpu号:
文件在: /proc/cpuinfo
通过Adb shell 查看:
adb shell cat /proc/cpuinfo
2 mac 地址
文件路径 /sys/class/net/wlan0/address
adb shell cat /sys/class/net/wlan0/address
xx:xx:xx:xx:xx:aa
具体的实现代码为:
public static String getLocalMac() {
String mac=null;
String str = "";
try
{
Process pp = Runtime.getRuntime().exec("cat /sys/class/net/wlan0/address ");
InputStreamReader ir = new InputStreamReader(pp.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
for (; null != str;)
{
str = input.readLine();
if (str != null)
{
mac = str.trim();// 去空格
break;
}
}
} catch (IOException ex) {
// 赋予默认值
ex.printStackTrace();
}
return mac;
}
② android如何获取地理位置
三种方式进行定位,获取用户位置,分别是基于基站定位, 网络定位,GPS定位。
1.基站定位(passive):这是基于网络基站进行定位的,定位的精确度在几十米到几千米不等,在城市中基站覆盖率比较高,推荐使用基站定位,如果是在郊区,基站相距较远,基站的覆盖没有城里好,定位的误差比较大。如果在郊区不推荐使用基站定位。
2.网络定位:wifi定位,网络定位
3.GPS定位:与卫星进行通信。手机中嵌入了GPS模块(精简版的A-GPS),通过A-GPS搜索卫星, 获取经纬度。使用GPS的弊端是:必须站在空旷的地方,头顶对着天空,如果云层厚了,也会受到一定的影响。精确度:10-50米
扩展知识:
使用Android是定位必备的权限:
< uses-permission android:name= " android.permission.ACCESS_FINE_LOCATION " /> //精确定位
<uses-permission android:name= "android.permission.ACCESS_MOCK_LOCATION" /> //模拟器
<uses-permission android:name= "android.permission.ACCESS_COARSE_LOCATION" /> //粗糙定位
//获取定位管理对象
LocationManager lm=(LocationManager)getSystemService(LOCATION_SERVICE);
String[] names=lm.getAllProviders();//获取所有的位置提供者,一般三种
Criteria criteria=new Criteria();//查询条件,如果设置了海拔,则定位方式只能是GPS;
criteria.setCostAllowed(true);//是否产生开销,比如流量费
String provider=lm.getBaseProvider(criteria,true)//获取最好的位置提供者,第二个参数为true,表示只获取那些被打开的位置提供者
lm.requestLocationUpdates(provier,0,0,new LocationListener(){});//获取位置。第二个参数表示每隔多少时间返回一次数据,第三个参数表示被定位的物体移动每次多少米返回一次数据。
private class MyLocationListener implements LocationListener {
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
@Override
public void onLocationChanged(Location location) {
System. out.println( "服务中位置监听发送了变化了" );
float accuracy = location.getAccuracy(); // 精确度
double altitude = location.getAltitude(); // 海拔
double latitude = location.getLatitude(); // 纬度
double longitude = location.getLongitude(); // 经度
String locationInfo = "jing:" + longitude + ",wei:" + latitude + ",haiba:" + altitude + ",jingque:" + accuracy;
Editor edit = sp.edit();
edit.putString( "location", locationInfo);
edit.commit();
}
} public void onProviderDisabled(String provider) {
}
③ android 中怎么获取电脑ip地址
1、 选择: 设置 - 无线和网络 -WLAN设置 2、 按菜单键,然后选 高级 3、 IP地址设置选项,选择“ 使用静态IP” 4、手动设置IP 地址, 大部分路由器的地址都是 192.168.1.** (XX 可以是 2-254 之间的任何数字,为了不和其他设备冲突,可以将数字设置大一些,例如 192.168.1.210等), 网关都是192.168.1.1,子网掩码都是 255.255.255.0 ,实际情况根据路由器设置。 5、设置DNS服务器地址,大部分路由器可以设置第一个DNS为路由器地(192.168.1.1),第二个DNS地址请查看路由器拨号状态下的DNS地址,也可以直接打电话问网络服务提供商。 6、 然后 保存退出 就可以了。
④ android 如何获取本机ip地址最佳方法
/**
* 获取ip地址
* @return
*/
public static String getHostIP() {
String hostIp = null;
try {
Enumeration nis = NetworkInterface.getNetworkInterfaces();
InetAddress ia = null;
while (nis.hasMoreElements()) {
NetworkInterface ni = (NetworkInterface) nis.nextElement();
Enumeration<InetAddress> ias = ni.getInetAddresses();
while (ias.hasMoreElements()) {
ia = ias.nextElement();
if (ia instanceof Inet6Address) {
continue;// skip ipv6
}
String ip = ia.getHostAddress();
if (!"127.0.0.1".equals(ip)) {
hostIp = ia.getHostAddress();
break;
}
}
}
} catch (SocketException e) {
Log.i("yao", "SocketException");
e.printStackTrace();
}
return hostIp;
}
⑤ 如何获取Android IP地址
本文讲述无线网和以太网mac地址获取的方法: 1.以太网获取mac地址 因为机顶盒系统是linux内核的,假设ethernet是eth0,那么可以从以下文件中读取相关信息:/sys/class/net/eth0/address方法1: public static String loadFileAsString(String filePath) throws java.io.IOException{ StringBuffer fileData = new StringBuffer(1000); BufferedReader reader = new BufferedReader(new FileReader(filePath)); char[] buf = new char[1024]; int numRead=0; while((numRead=reader.read(buf)) != -1){ String readData = String.valueOf(buf, 0, numRead); fileData.append(readData); } reader.close(); return fileData.toString();}/** Get the STB MacAddress*/public String getMacAddress(){ try { return loadFileAsString("/sys/class/net/eth0/address") .toUpperCase().substring(0, 17); } catch (IOException e) { e.printStackTrace(); return null; }}方法2:NetworkInterface NIC = NetworkInterface.getByName("eth0"); byte[] buf = NIC.getHardwareAddress(); for (int i = 0; i < buf.length; i++) { mac = mac + byteHEX(buf);}if (mac != null && !"".equals(mac)) {
}2.wifi获取mac和ip首先要在manifest.xml文件中添加权限: <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>获取mac的代码如下WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiInfo info = wifi.getConnectionInfo(); return info.getMacAddress();获取Ip的代码public String getLocalIpAddress() { try { for (Enumeration<NetworkInterface> en = NetworkInterface .getNetworkInterfaces(); en.hasMoreElements();) { NetworkInterface intf = en.nextElement(); if (intf.getName().toLowerCase().equals("eth0")) { for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) { InetAddress inetAddress = enumIpAddr.nextElement(); if (!inetAddress.isLoopbackAddress()) { String ipaddress = inetAddress.getHostAddress().toString(); if(!ipaddress.contains("::")){//ipV6的地址 return ipaddress; } } } } else { continue; } } } catch (Exception ex) { Log.e("WifiPreference IpAddress", ex.toString()); } return null; }
⑥ android webView怎么得到当前地址
获取原始URL:webView.getOriginalUrl();获取当前URL:webView.getUrl();如果访问:IPoriginal是:IP(网址不让贴)访问成功后的地址可能根据地区或设备的不同而不一样,这个新地址可通过getUrl()获取如果我的回答没帮助到您,请继续追问。转载,仅供参考。
⑦ 如何获取一台android手机的ip地址
果断是坑你的钱啊。
下面是解决办法
1.进入手机系统设置----无线和网络----wifi设置---菜单键----高级-----在下方ip设置里勾选“使用静态ip”
2.在“使用静态ip地址”下方,对应填写:
ip地址:192.168.1.21(这个最后一位数可以随意改,范围0~255,如192.168.1.74)
网关:192.168.1.1(注意了,这里是你路由器的网关,这里是默认的地址)
网络掩码:255.255.255.0(分为三种,详细看电脑里的)
域名1:192.168.1.1(一般和上面的网关地址保持一致,直接上网的得修改为网络网关地址)
域名2:不填写(特殊情况填写)
3.保存!
之后你会发现你的wifi掉线后自动重新连接上了,之后不必再重启路由,不会一直出现“正在获取ip地址”的提示了
⑧ android怎么获取用户所在地 csdn
三种方式进行定位,获取用户位置,分别是基于基站定位, 网络定位,GPS定位。
1.基站定位(passive):这是基于网络基站进行定位的,定位的精确度在几十米到几千米不等,在城市中基站覆盖率比较高,推荐使用基站定位,如果是在郊区,基站相距较远,基站的覆盖没有城里好,定位的误差比较大。如果在郊区不推荐使用基站定位。
2.网络定位:wifi定位,网络定位
3.GPS定位:与卫星进行通信。手机中嵌入了GPS模块(精简版的A-GPS),通过A-GPS搜索卫星, 获取经纬度。使用GPS的弊端是:必须站在空旷的地方,头顶对着天空,如果云层厚了,也会受到一定的影响。精确度:10-50米
扩展知识:
使用Android是定位必备的权限:
<uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/>//精确定位
<uses-permissionandroid:name="android.permission.ACCESS_MOCK_LOCATION"/>//模拟器
<uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATION"/>//粗糙定位
//获取定位管理对象
LocationManagerlm=(LocationManager)getSystemService(LOCATION_SERVICE);
String[]names=lm.getAllProviders();//获取所有的位置提供者,一般三种
Criteriacriteria=newCriteria();//查询条件,如果设置了海拔,则定位方式只能是GPS;
criteria.setCostAllowed(true);//是否产生开销,比如流量费
Stringprovider=lm.getBaseProvider(criteria,true)//获取最好的位置提供者,第二个参数为true,表示只获取那些被打开的位置提供者
lm.requestLocationUpdates(provier,0,0,newLocationListener(){});//获取位置。第二个参数表示每隔多少时间返回一次数据,第三个参数表示被定位的物体移动每次多少米返回一次数据。
{
@Override
publicvoidonStatusChanged(Stringprovider,intstatus,Bundleextras){
}
@Override
publicvoidonProviderEnabled(Stringprovider){
}
@Override@Override
publicvoidonLocationChanged(Locationlocation){
System.out.println("服务中位置监听发送了变化了");
floataccuracy=location.getAccuracy();//精确度
doublealtitude=location.getAltitude();//海拔
doublelatitude=location.getLatitude();//纬度
doublelongitude=location.getLongitude();//经度
StringlocationInfo="jing:"+longitude+",wei:"+latitude+",haiba:"+altitude+",jingque:"+accuracy;
Editoredit=sp.edit();
edit.putString("location",locationInfo);
edit.commit();
}
}publicvoidonProviderDisabled(Stringprovider){
}