【发布时间】:2020-11-03 19:14:55
【问题描述】:
我正在尝试使用新的Wifi suggest API 连接到 WiFi 网络。具体来说,我想将网络添加到列表中,因此文档说我必须实现 this 意图。
这就是我现在拥有的:
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: 致命 例外:主要 进程:com.my.app PID:17001 android.content.ActivityNotFoundException:未找到处理 Intent { act=android.settings.WIFI_ADD_NETWORKS } 的活动 在 android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2076) 在 android.app.Instrumentation.execStartActivity(Instrumentation.java:1720) 在 android.app.Activity.startActivityForResult(Activity.java:5258) 在 androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:676) 在 android.app.Activity.startActivityForResult(Activity.java:5203) 在 androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:663) 在 com.my.app.presentation.ui.activity.ConnectActivity.connectApi29(ConnectActivity.kt:504) 在 com.my.app.presentation.ui.activity.ConnectActivity.connect(ConnectActivity.kt:343) 在 com.my.app.presentation.ui.activity.ConnectActivity.access$connect(ConnectActivity.kt:70) 在 com.my.app.presentation.ui.activity.ConnectActivity$setReadyState$1.onClick(ConnectActivity.kt:334) 在 android.view.View.performClick(View.java:7862) 在 android.widget.TextView.performClick(TextView.java:15004) 在 com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:992) 在 android.view.View.performClickInternal(View.java:7831) 在 android.view.View.access$3600(View.java:879)
打开WiFi列表让用户选择推荐网络进行添加的正确方法是什么?
【问题讨论】:
-
Intent(ACTION_WIFI_ADD_NETWORKS)的上下文在哪里? -
您使用的是什么版本的 Android? That
Intentaction 适用于 Android 11 及更高版本。 -
我使用的是 Android 10,API 29;但我的目标是 API 30,难道我不能使用它吗?