问题描述
我正在开发一个用于根设备的android应用程序。我的应用程序是系统应用程序。 在我的应用程序中,我需要所有用户输入路由器的ssid,密码,以便我需要通过wifi与路由器建立连接。
为此,我使用requestNetowrk方法。(android.net.ConnectivityManager.reqeustNetwor(NetworkRequest,NetworkCallback,Timeout))。
已连接,但是从应用程序退出后,连接丢失。 退出应用程序后,如何保持连接仍然存在。我不需要应用程序级别连接和设备级别连接。 如何实现这一目标。
以下是我在应用中使用的配置 Android 10,它是系统应用程序。
解决方法
您可以使用addNetwork(WifiConfiguration config)
类中的WifiManager
。
此API用于Android Q之前的版本中的持久连接。 从Android Q开始不推荐使用,但设备所有者(DO),配置文件所有者(PO)和系统应用程序不推荐使用。
来自Android文档
int addNetwork(WifiConfiguration config)
此方法在API级别29中已弃用。a)有关触发与Wi-Fi网络的连接的新机制,请参见WifiNetworkSpecifier.Builder#build()。 b)有关新API的信息,请参见addNetworkSuggestions(java.util.List),removeNetworkSuggestions(java.util.List),以添加Wi-Fi网络,以便在自动连接到wifi时考虑。兼容性说明:对于面向Build.VERSION_CODES.Q或更高版本的应用程序,此API始终会失败并返回-1。
弃用豁免:设备所有者(DO),配置文件所有者(PO)和系统应用。