精华内容
下载资源
问答
  • 如何设置安卓手机WIFI的静态IP地址哈哈
  • 那么这个时候我们就需要设置静态IP地址来访问网络了。那如何设置手机的静态IP地址呢?下面简单几步教你设置安卓系统静态IP地址: 1、打开WIFI 2、点击你需要连接的WIFI接入点名称 3、输入密码以后,把...

    在很多情况下,手机连接的WIFI显示已经正常连接了却无法使用?那么这个时候我们就需要设置静态IP地址来访问网络了。那如何设置手机的静态IP地址呢?下面简单几步教你设置安卓系统静态IP地址:

     

    1、打开WIFI

     

    2、点击你需要连接的WIFI接入点名称

     

    3、输入密码以后,把输入法隐藏一下就会发现“显示密码”和“显示高级选项”

     

    4、勾选--显示高级选项

     

    5、下拉一下会出现“IP设置”

     

    6、将选项中的DHCP改为--静态

     

    7、改为静态以后,下面继续会出现几项,填写方式如下:

     

    IP地址:你手机的IP地址,一般是192.168.1.XXX(XXX可以在1-255之间,不能跟路由下的任一设备设置为一样的IP地址)

    网关:你路由器的IP地址(大多数的路由默认IP会是192.168.1.1)

     

    网络前缀长度:不用修改

    域名1:WIFI接入点所使用的IP地址,一般是192.168.1.1或者192.168.0.1,具体要参考路由上的设置

    域名2:跟域名1一样就可以了

    这样手机上网就可以正常使用静态IP了。

     

    由于安卓系统之间的差异,更改静态IP的操作步骤也是有着轻微的差别,此时只需要依据界面操作即可,如果需要取消静态IP地址,只需在IP设定一栏选择DHCP即可。当然,如果需要经常切换静态IP地址,建议使用代理软件,高效便捷,省时省力~

    展开全文
  • 安卓9.0设置以太网静态IP地址

    千次阅读 热门讨论 2019-08-14 19:41:37
    前言:因为项目需要设置安卓9.0系统的以太网静态ip地址,于是网上搜索相关资料。9.0系统以太网设置静态ip有关的,只有Github上有个MTK开发人员的分享,github链接:...

    前言:因为项目需要设置安卓9.0系统的以太网静态ip地址,于是网上搜索相关资料。9.0系统以太网设置静态ip有关的,只有Github上有个MTK开发人员的分享,github链接:https://github.com/Dufre/Android-Settings-Ethernet,patch是在系统设置中加上以太网设置,用过后发现设置静态IP可以成功,但是无法连外网,解决方法是将 0001-Ethernet-Add-Static-IP-Settiings.patch 中的两个注释去掉,改成如下,且在设置的时候一定要配置正确的网关和DNS。

    +        mStaticIpConfiguration.gateway=gatewayAddr;
    +        mStaticIpConfiguration.dnsServers.add(dnsAddr);

     打patch方式,比方说想打0001-Ethernet-Add-Static-IP-Settiings.patch,那么到/packages/apps/Settings目录,这个目录可以通过看patch文件中类似如下代码中a/b所在目录确认。

    diff --git a/AndroidManifest.xml b/AndroidManifest.xml
    index 4456aa0..ea33f8a 100644
    --- a/AndroidManifest.xml
    +++ b/AndroidManifest.xml
    
    // 进入到a所在目录即可。

    然后执行patch -p1 < patch文件绝对路径,p后面是数字1,即可。

    0001-Ethernet-IP-Add-Framework-Interface.patch这个patch到/frameworks/base目录导入。

    0001-Ethernet-IP-Add-Framework-Function.patch这个patch到/frameworks/opt/net/ethernet目录导入。

    接下来讲解如何通过一个方法来实现9.0以太网设置。

    首先:在应用的清单文件中授权网络权限,主要应该是如下几个。同时

    sharedUserId设置成"android.uid.system"。
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL"/>
    <uses-permission android:name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS"/>

    其次:导入framework.jar,因为用到的类都是在framework中的。而且我测试的时候也使用了platform签名。

    最后:终极方法如下,反射方式获取EthernetManager的实例参考 https://blog.csdn.net/aaa1050070637/article/details/79769788

       private static final String TAG = "EthernetUtils";
        /**
         * @param context use Activity or Service context
         * @param ipAddress ip address: like 192.168.1.168
         * @param mode : STATIC or DHCP, set static or dhcp ip mode
         * @param netmask ip mask, like 255.255.255.0
         * @param gateway gateway, like 192.168.1.1
         * @param dns1 dns 1
         * @param dns2 dns 2, if mode=static, then can use "" or null
         *   eg. dhcp mode: setEthernetIP(ApplicationContext, "DHCP", "", "", "", "", "");
         *         static mode: setEthernetIP(ApplicationContext, "STATIC",
         *                     "192.168.1.168", "255.255.255.0",
         *                     "192.168.1.1", "114.114.114.114", "8.8.8.8");
         *  for android 9.0
         * */
        public static void setEthernetIP(Context context, String mode, String ipAddress, String netmask,
                                         String gateway, String dns1, String dns2) {
            if (context == null || (!"STATIC".equals(mode) && !"DHCP".equals(mode))) {
                Log.d(TAG, " setEthernetIP failed, param incorrect context=" + context + ", mode=" + mode);
                return;
            }
    
            try {
                // get EthernetManager instance by reflect @{
                Class<?> ethernetManagerClass = Class
                        .forName("android.net.EthernetManager");
                Class<?> iEthernetManagerClass = Class
                        .forName("android.net.IEthernetManager");
                // 获取ETHERNET_SERVICE参数
                String ETHERNET_SERVICE = (String) Context.class.getField(
                        "ETHERNET_SERVICE").get(null);
                // 获取ethernetManager服务对象
                Object ethernetManager = context.getSystemService(ETHERNET_SERVICE);
                // 获取在EthernetManager中的抽象类mService成员变量
                Field mService = ethernetManagerClass.getDeclaredField("mService");
                // 修改private权限
                mService.setAccessible(true);
                // 获取抽象类的实例化对象
                Object mServiceObject = mService.get(ethernetManager);
                Object ethernetManagerInstance = ethernetManagerClass
                        .getDeclaredConstructor(Context.class,
                                iEthernetManagerClass).newInstance(context,
                                mServiceObject);
                EthernetManager mEthManager = (EthernetManager) ethernetManagerInstance;
                // @}
    
                String[] ifaces = mEthManager.getAvailableInterfaces();
                if (ifaces.length <= 0) {
                    Log.e(TAG, " setEthernetIP failed ifaces.length <= 0");
                    return;
                }
                String mInterfaceName = ifaces[0];
                Log.d(TAG, " setEthernetIP mInterfaceName=" + mInterfaceName);
                if ("DHCP".equals(mode)) {
                    Log.i(TAG, " setEthernetIP  set dhcp started");
                    IpConfiguration dhcpConfiguration = new IpConfiguration(IpConfiguration.IpAssignment.DHCP,
                            IpConfiguration.ProxySettings.NONE, null, null);
                    dhcpConfiguration.setIpAssignment(IpConfiguration.IpAssignment.DHCP);
                    mEthManager.setConfiguration(mInterfaceName, dhcpConfiguration);
                    return;
                }
    
                if (TextUtils.isEmpty(ipAddress)
                        || TextUtils.isEmpty(netmask) || TextUtils.isEmpty(gateway)
                        || TextUtils.isEmpty(dns1)) {
                    Log.e(TAG, "setEthernetIP error has some param is null ipAddress=" + ipAddress
                            + ", netmask=" + netmask + ", gateway=" + gateway
                            + ", dns1=" + dns1 + ", dns2=" + dns2);
                    return;
                }
                StaticIpConfiguration mStaticIpConfiguration = new StaticIpConfiguration();
                int prefixLength = maskStr2InetMask(netmask);
                InetAddress inetAddr = null;
                InetAddress gatewayAddr = getIPv4Address(gateway);
                InetAddress dnsAddr = getIPv4Address(dns1);
    
                if (TextUtils.isEmpty(ipAddress)) {
                    inetAddr = NetUtils.getLocalIPAddress();
                } else {
                    String[] ipStr = ipAddress.split("\\.");
                    byte[] ipBuf = new byte[4];
                    for (int i = 0; i < 4; i++) {
                        ipBuf[i] = (byte) (Integer.parseInt(ipStr[i]) & 0xff);
                    }
                    try {
                        inetAddr = InetAddress.getByAddress(ipBuf);
                        Log.d(TAG, "setEthernetIP  address correct inetAddr=" + inetAddr);
                    } catch (UnknownHostException e) {
                        e.printStackTrace();
                    }
                }
    
                if (inetAddr == null || inetAddr.getAddress().toString().isEmpty()
                        || prefixLength == 0 || gatewayAddr.toString().isEmpty()
                        || dnsAddr == null || dnsAddr.toString().isEmpty()) {
                    Log.d(TAG, " setEthernetIP  address incorrect inetAddr=" + inetAddr);
                    return;
                }
    
                Class<?> linkAddressClass = null;
                linkAddressClass = Class.forName("android.net.LinkAddress");
                Class[] cl = new Class[]{InetAddress.class, int.class};
                Constructor cons = null;
                //取得所有构造函数
                try {
                    cons = linkAddressClass.getConstructor(cl);
                } catch (NoSuchMethodException e) {
                    e.printStackTrace();
                }
                //给传入参数赋初值
                Object[] x = {inetAddr, prefixLength};
                try {
                    mStaticIpConfiguration.ipAddress = (LinkAddress) cons.newInstance(x);
                    Log.d(TAG, " setEthernetIP mStaticIpConfiguration.ipAddress=" + mStaticIpConfiguration.ipAddress);
                } catch (InstantiationException e) {
                    e.printStackTrace();
                } catch (IllegalAccessException e) {
                    e.printStackTrace();
                } catch (InvocationTargetException e) {
                    e.printStackTrace();
                }
    
                mStaticIpConfiguration.gateway = gatewayAddr;
                mStaticIpConfiguration.dnsServers.add(dnsAddr);
                if (!dns2.isEmpty())
                    mStaticIpConfiguration.dnsServers.add(getIPv4Address(dns2));
    
                Log.d(TAG, " setEthernetIP mStaticIpConfiguration  ====" + mStaticIpConfiguration
                        + ", inetAddr=" + inetAddr + ", mEthManager=" + mEthManager);
    
                IpConfiguration ipConfiguration = new IpConfiguration(IpConfiguration.IpAssignment.STATIC,
                        IpConfiguration.ProxySettings.NONE, mStaticIpConfiguration, null);
                ipConfiguration.setIpAssignment(IpConfiguration.IpAssignment.STATIC);
                ipConfiguration.setStaticIpConfiguration(mStaticIpConfiguration);
                mEthManager.setConfiguration(mInterfaceName, ipConfiguration);
            } catch (Exception e) {
                Log.e(TAG, "setEthernetIP error e=" + e.getMessage(), e);
            }
        }

    注意事项: 该方法最好在Activity或者Fragment中执行,第一个参数使用活动、碎片或服务的context,否则容易报线程不对或初始化以太网管理器的错误,且执行完后需要重启系统才能生效。

    android 9.0 GO系统 framework.jar 见资源:https://download.csdn.net/download/zzhceo/11548681

    2019.12.12补充github工程地址:https://github.com/zzhceo/EthernetStaticIp,欢迎大家点赞收藏。

     

    展开全文
  • 您可能感兴趣的话题:安卓手机核心提示:PC上有静态IP,智能手机上也有,不过很多机友都会发现在Android 4.0以上无法使用静态IP。PC上有静态IP,智能手机上也有,不过很多机友都会发现在Android 4.0以上无法使用静态...

    您可能感兴趣的话题:

    安卓手机

    核心提示:PC上有静态IP,智能手机上也有,不过很多机友都会发现在Android 4.0以上无法使用静态IP。

    PC上有静态IP,智能手机上也有,不过很多机友都会发现在Android 4.0以上无法使用静态IP。0a9983d59be5aa4f86a108ec2fab4bd9.png

    1、打开WIFI。

    2、点击你需要连接的WIFI接入点名称。

    3、输入密码以后,把输入法隐藏一下就会发现“显示密码”和“显示高级选项”。

    4、勾选--显示高级选项。

    5、下拉一下会出现“IP设置”。

    6、将选项中的DHCP改为--静态。

    7、改为静态以后,下面继续会出现几项,填写方式如下:

    IP地址:你手机的IP地址,一般是192.168.1.XXX(XXX可以在1-255之间,不能跟路由下的任一设备设置为一样的IP地址)。

    网关:你路由器的IP地址(大多数的路由默认IP会是192.168.1.1)。

    网络前缀长度:不用修改。

    域名1:WIFI接入点所使用的IP地址,一般是192.168.1.1或者192.168.0.1,具体要参考路由上的设置。

    域名2:跟域名1一样就可以了。

    这样您的手机上网可以正常使用静态IP了。

    以上是教你如何设置安卓手机静态IP的全部内容,希望对大家有所帮助,感谢您对2345软件大全的支持,更多

    展开全文
  • 手机如何设置静态IP

    2012-07-04 15:55:00
    本文教你设置静态IP解决问题,体验WIFI下连接不掉的爽快。当然,高手及会的请飘过及路过,此方法能解决安卓带WIFI的手机、平板连接的问题。发现使用WIFI的绝大多数人都会出现这个问题。。。不会设置不就悲剧了么。。...

     

    你的WIFI网络有时候连接会一直出现获取IP地址中?之后重启路由器又能连接了

    本文教你设置静态IP解决问题,体验WIFI下连接不掉的爽快。当然,高手及会的请飘过及路过,此方法能解决安卓带WIFI的手机、平板连接的问题。发现使用WIFI的绝大多数人都会出现这个问题。。。不会设置不就悲剧了么。。。。
    【以下方法为本人手持中兴U880亲自测试】


    方法:


    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 (分为三种,详细看电脑里的)
    域名1192.168.1.1 (一般和上面的网关地址保持一致,直接上网的得修改为网络网关地址)
    域名2:不填写 (特殊情况填写)


    3.保存! 之后你会发现你的WIFI掉线后自动重新连接上了,之后不必再重启路由,不会一直出现正在获取IP地址的提示了。。。畅享WIFI吧。。。


    原理:设置静态IP,减少获取地址时间及获取不到地址,当然减轻路由器负担也是有的。。。

     

    转载于:https://www.cnblogs.com/bankey/archive/2012/07/04/2576360.html

    展开全文
  • 手机设置静态IP的方法

    千次阅读 2013-11-19 17:14:00
    3.在“使用静态IP地址”下方,对应填写: IP地址:192.168.137.2(这个最后一位数可以随意改,范围1~254,如192.168.137.74) 网关:192.168.137.1(注意了,这里是你路由器的网关,这里是默认的地址) 4.保存...
  • 在做android设备时候有设置设备的静态IP,因为这个方法是系统隐藏方法,而且还是9.0的系统目前测试...原博客:安卓9.0设置以太网静态IP地址 博客来源地址:https://blog.csdn.net/zzhceo/article/details/99596435 ...
  • 树莓派连接手机热点,并设置静态IP

    千次阅读 2019-03-07 22:44:10
    网上关于设置静态IP的方法很多,亲测,有一种贼坑,搞不好会让那些没有屏幕的玩家要重刷系统,因为那种方法设置wifi后,不仅无法连接上wifi,连原来的有线网也无法使用 如果有人已经掉坑,这里有一个建议,不要重新...
  • Ubuntu Desktop 18.04 设置静态IP方法(超详细)

    万次阅读 多人点赞 2018-07-01 19:46:28
    这里指的是Ubuntu Desktop 18.04上设置静态IP,Ubuntu Server 18.04上设置静态IP的方法请参考点击打开链接我使用的是VMware 14 Pro 。具体步骤如下:打开虚拟网络编辑器点击更改设置设置Vmnet0为桥接模式,桥接到处...
  • Android 用Shell命令设置静态ip https://blog.csdn.net/qq_31939617/article/details/81530531
  • 在添加以太网后,可以顺利设置静态ip.但是当我设置静态后,出现需要将网线拔插一次更新网络后才能刷新ip地址的bug。当时以为只要像7.0和8.0那样新增就没有问题了,没想到这次9.0又改变了代码结构。下面我将详细介绍...
  • 网上有些设置wifi的资料,WEP加密方式存在一些bug,进行了修复;上传一个完整的测试wep加密,静态分配ip的例子;
  • 现在大部分人的家庭网络环境都是通过无线路由器为家里的电脑和手机提供网络。 在使用VMware安装Linux之后,默认使用的是DHCP连接网络。 但是如果使用类似 ...本文给出了设置静态IP访问外网的详细步骤,供大家参考。
  • 在无显示器使用树莓派的时,路由器的DHCP服务会使树莓派的IP地址发生改变,在用ssh访问树莓派时,一个固定不变的静态IP会方便很多。下面就来说一下如何设置一个静态IP ###方法: 修改etc目录下的dhcpcd.conf文件,在...
  • 网上后很多资源教初学者如何设置静态IP,但我觉得设置静态IP也有不好的地方: 首先,好处就是树莓派的IP不会变,例如你设置了无线连接方式的静态IP为192.168.1.110,那么无论你连接哪个路由器,或者连接同一个...
  • VWware安装ubuntu设置静态IP

    千次阅读 2017-02-15 08:32:49
    后来,组长告诉我Ubuntu的ip与手机ip地址不在一个网段内,需要为Ubuntu设置同一网段的静态IP.在网上找了好久的资料,终于设置成功,并且可以访问web服务器。   1.首先我使用的虚拟机是VMware 12,Ubuntu是16,...
  • WIFI设置静态IP后如何改回来动态IP,求指点~~,让WIFI重新自动获取IP地址,实现切换
  • 很多人都知道如何设置静态IP上网,但设置成功后无法正常上网这种情况又是什么原因导致的呢? 一、不同软件测试 上不了网,有时候是因为浏览器本身或者软件本身出现问题了,或者是代理不支持某些软件使用,当然...
  • 本文实例讲述了Android实现编程修改手机静态IP的方法。分享给大家供大家参考。具体如下: 这里演示通过编程方式动态修改手机静态IP的方法,可以用于wifi接入点切换 public void onCreate(Bundle savedInstanceState...
  • Android连接WiFi设置IP为静态IP

    千次阅读 2018-09-03 16:32:36
    设置静态IP需要先忘记WiFi密码再重新连接,会记住是哪个APP连接WiFi public class WifiConnet { private static WifiConnet utils = null; private WifiManager wifiManager; public static int Num = 0; ...
  • 要控制设备wifi连接,而且要使用静态ip,上网查找了下,基本都是Android2.X下面的方法,即使用Settings进行设置,但是这种设置方法对于Android3.X以上设备是无效的,通过研究在Android手机上手动设置静态ip,我们...
  • Android 4.0下设置静态IP

    2012-12-17 12:47:28
    平时手机用wifi都是设置的DHCP(Dynamic Host Configuration Protocol,中文释义动态主机设置协议,是一个局域网的网络协议,主要有用途为给内部网络或网络服务供应商自动分配IP地址)  偶然要用到静态IP,在手机...
  • Android 修改静态IP地址

    千次阅读 2018-11-08 11:10:58
    2.X: ContentResolver ctRes = mContext....Settings.System.putInt(ctRes,Settings.System.WIFI_USE_STATIC_IP, 1); Settings.System.putString(ctRes,Settings.System.WIFI_STATIC_IP, "192....
  • 树莓派3B设置静态IP连接无线WIFI

    万次阅读 2017-05-14 18:50:23
    设置有线网卡静态IP:sudonano/etc/dhcpcd.conf在文件结尾加入以下内容,配置有线和无限网络: interface eth0 static ip_address=192.168.0.201/24 static routers=192.168.0.1 static domain_name_servers=...
  • VMWare虚拟机通过NAT(网络地址转换模式)设置静态IP 查看本机网卡相关信息 方式一 打开dos界面,输入命令ipconfig -all,目的是为了能够看到网卡描述、DNS等信息,在配置虚拟机的时候需要使用 方式二 设置虚拟机 ...
  • 如果想在不同环境的wifi照常使用设置的虚拟机静态ip,需要手机具有wlan信号桥功能,现在一般手机都支持,我的是荣耀9X。否则只能固定WiFi环境下使用。 配置步骤: 1.开启手机的信号桥功能,以我手机为例,设置目录为...
  • Linux (Ubuntu) 设置静态 IP 和 DNS

    千次阅读 2017-12-27 11:24:21
    静态IP设置 修改 /etc/network/interfaces 文件添加如下内容: auto eth0#iface eth0 inet dhcp //dhcp 为自动的,static 是静态的,如果是自动的,下面的内容则不需要iface eth0 inet static address 10.10.40....
  • http://hi.baidu.com/517230138/blog/item/1ab240233f1240579922ed65.html

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,927
精华内容 7,170
关键字:

手机设置静态ip地址