在Android中请求网络时是否可以更改对话框主题?

时间:2019-12-03 15:12:21

标签: android android-wifi android-networking android-dark-theme

我正在注册网络回调,以过滤出与指定SSID模式不匹配的WiFi网络。

使用启用了深色主题的电话进行测试,一旦请求开始,就会显示一个对话框,并且对话框的样式与深色主题匹配。 有什么办法可以改变吗?

我想在警报对话框中使用浅色主题。 我尝试通过更新应用程序主题以支持黑暗模式并为警报对话框设置自定义主题来进行尝试,但是那样行不通。

在此先感谢您的帮助!

修改

这是我用来注册网络回调的示例函数:

fun requestNetwork(context: Context) {
    val connectivityManager = context.applicationContext.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager

    val ssidFilter = "..." //your SSID pattern to match
    val networkSpecifier = WifiNetworkSpecifier.Builder()
                        .setSsidPattern(PatternMatcher(ssidFilter, PatternMatcher.PATTERN_SIMPLE_GLOB))
                        .build()
    val networkRequest = NetworkRequest.Builder()
                        .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
                        .setNetworkSpecifier(networkSpecifier)
                        .build()

    val callback = object : NetworkCallback() {
                override fun onAvailable(network: Network) {
                    //success
                }

                override fun onUnavailable() {
                    connectivityManager.unregisterNetworkCallback(this)
                }
            }
    connectivityManager.requestNetwork(request, callback)
}

0 个答案:

没有答案