gpt4 book ai didi

android - 用于在 Android 应用程序中配置静态 IP 地址的 API

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:39:51 24 4
gpt4 key购买 nike

是否可以在应用程序中设置 Android 接口(interface)的 IP 地址?

我可以使用 java.net.NetworkInterface 查询可用接口(interface)及其当前地址,但这不提供更改这些接口(interface)的工具。我只是错过了什么地方,还是不允许的?

我希望能够让我的应用程序在运行时在“现成”设备上更改或添加一个或多个现有接口(interface)的别名。 (2.1/2.2)。理想情况下,我想对 IPv4 都这样做和 IPv6地址。

最佳答案

Settings.System包括几个你可以使用的标志:

  • WIFI_USE_STATIC_IP
  • WIFI_STATIC_IP
  • WIFI_STATIC_NETMASK
  • WIFI_STATIC_GATEWAY
  • WIFI_STATIC_DNS1WIFI_STATIC_DNS2

您还需要 android.permission.WRITE_SETTINGS为您的申请声明的许可。

然后在你的 Activity 中:

final ContentResolver cr = getContentResolver();
Settings.System.putInt(cr, Settings.System.WIFI_USE_STATIC_IP, 1);
Settings.System.putString(cr, Settings.System.WIFI_STATIC_IP, "you.re.ip.addr");
// call putString() for each value to set for your interface

如果您想更改运营商的 3G/4G 等接口(interface)的 IP 地址,我认为这是不可能的 - 因为它已连接到运营商并使用他们的 DHCP/安全性来使您能够连接和使用他们的服务(有点像在未经 ISP 同意的情况下更改电缆调制解调器的外部 IP)。

关于android - 用于在 Android 应用程序中配置静态 IP 地址的 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2922455/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com