通过 ACTION_WIFI_ADD_NETWORKS 意图添加 WiFi 网络
Add WiFi network via ACTION_WIFI_ADD_NETWORKS intent
我正在尝试使用新的 Wifi suggest API. Specifically I want to add the network to the list, so as the documentation says I have to implement this 意图连接到 WiFi 网络。
这是我现在拥有的:
val suggestion = if (wifiConnection.authentication == AUTHENTICATION_NOPASS) {
WifiNetworkSuggestion.Builder()
.setSsid(wifiConnection.ssid)
.build()
} else {
WifiNetworkSuggestion.Builder()
.setSsid(wifiConnection.ssid)
.setWpa2Passphrase(wifiConnection.password)
.build()
}
val intent = Intent(ACTION_WIFI_ADD_NETWORKS)
intent.putExtra(EXTRA_WIFI_NETWORK_LIST, arrayListOf(suggestion))
startActivityForResult(intent, 1002)
然而,当我 运行 这段代码时,我遇到了以下崩溃:
2020-10-12 16:38:48.291 17001-17001/com.my.app E/AndroidRuntime: FATAL
EXCEPTION: main
Process: com.my.app PID: 17001
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.WIFI_ADD_NETWORKS }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2076)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1720)
at android.app.Activity.startActivityForResult(Activity.java:5258)
at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:676)
at android.app.Activity.startActivityForResult(Activity.java:5203)
at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:663)
at com.my.app.presentation.ui.activity.ConnectActivity.connectApi29(ConnectActivity.kt:504)
at com.my.app.presentation.ui.activity.ConnectActivity.connect(ConnectActivity.kt:343)
at com.my.app.presentation.ui.activity.ConnectActivity.access$connect(ConnectActivity.kt:70)
at com.my.app.presentation.ui.activity.ConnectActivity$setReadyState.onClick(ConnectActivity.kt:334)
at android.view.View.performClick(View.java:7862)
at android.widget.TextView.performClick(TextView.java:15004)
at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:992)
at android.view.View.performClickInternal(View.java:7831)
at android.view.View.access00(View.java:879)
WiFi列表的正确打开方式是什么,用户可以选择建议的网络进行添加?
此意图操作已添加到 API 30 级,因此如果您 运行 设备上的此代码 运行 API 29 级或以下,它将获胜工作。
请确保设备或模拟器在 API 级别 30 上 运行。
我正在尝试使用新的 Wifi suggest API. Specifically I want to add the network to the list, so as the documentation says I have to implement this 意图连接到 WiFi 网络。
这是我现在拥有的:
val suggestion = if (wifiConnection.authentication == AUTHENTICATION_NOPASS) {
WifiNetworkSuggestion.Builder()
.setSsid(wifiConnection.ssid)
.build()
} else {
WifiNetworkSuggestion.Builder()
.setSsid(wifiConnection.ssid)
.setWpa2Passphrase(wifiConnection.password)
.build()
}
val intent = Intent(ACTION_WIFI_ADD_NETWORKS)
intent.putExtra(EXTRA_WIFI_NETWORK_LIST, arrayListOf(suggestion))
startActivityForResult(intent, 1002)
然而,当我 运行 这段代码时,我遇到了以下崩溃:
2020-10-12 16:38:48.291 17001-17001/com.my.app E/AndroidRuntime: FATAL EXCEPTION: main Process: com.my.app PID: 17001 android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.WIFI_ADD_NETWORKS } at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2076) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1720) at android.app.Activity.startActivityForResult(Activity.java:5258) at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:676) at android.app.Activity.startActivityForResult(Activity.java:5203) at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:663) at com.my.app.presentation.ui.activity.ConnectActivity.connectApi29(ConnectActivity.kt:504) at com.my.app.presentation.ui.activity.ConnectActivity.connect(ConnectActivity.kt:343) at com.my.app.presentation.ui.activity.ConnectActivity.access$connect(ConnectActivity.kt:70) at com.my.app.presentation.ui.activity.ConnectActivity$setReadyState.onClick(ConnectActivity.kt:334) at android.view.View.performClick(View.java:7862) at android.widget.TextView.performClick(TextView.java:15004) at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:992) at android.view.View.performClickInternal(View.java:7831) at android.view.View.access00(View.java:879)
WiFi列表的正确打开方式是什么,用户可以选择建议的网络进行添加?
此意图操作已添加到 API 30 级,因此如果您 运行 设备上的此代码 运行 API 29 级或以下,它将获胜工作。 请确保设备或模拟器在 API 级别 30 上 运行。