【问题标题】:How to open private DNS settings in android programmatically?如何以编程方式在 android 中打开私有 DNS 设置?
【发布时间】:2022-11-18 10:46:02
【问题描述】:

是否可以在 android 中以编程方式打开私人 DNS 设置?

有没有办法以编程方式设置私有 DNS 值?

【问题讨论】:

    标签: android settings


    【解决方案1】:

    只能监听,不能主动切换私有域名的选择和设置,而且华为手机还不能动态修改监听。代码如下:

    val cMgr: ConnectivityManager = getSystemService(CONNECTIVITY_SERVICE) as ConnectivityManager
        if (cMgr != null) {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
                cMgr.registerNetworkCallback(NetworkRequest.Builder().build(), object : ConnectivityManager.NetworkCallback() {
                    @SuppressLint("MissingPermission")
                    override fun onLinkPropertiesChanged(network: Network, linkProperties: LinkProperties) {
                        super.onLinkPropertiesChanged(network, linkProperties)
                        println("onLinkPropertiesChanged(Network = $network, LinkProperties = $linkProperties)")
                        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
                            println(
                                "LinkProperties.isPrivateDnsActive = " + linkProperties.isPrivateDnsActive()
                                    .toString() + ", server =" + linkProperties.getPrivateDnsServerName()
                            )
                        }
                    }
                })
            }
        }
    

    【讨论】:

      猜你喜欢
      • 2013-10-31
      • 2011-05-05
      • 2019-12-03
      • 1970-01-01
      • 1970-01-01
      • 2015-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多