【问题标题】:Add WiFi network via ACTION_WIFI_ADD_NETWORKS intent通过 ACTION_WIFI_ADD_NETWORKS 意图添加 WiFi 网络
【发布时间】: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 Intent action 适用于 Android 11 及更高版本。
  • 我使用的是 Android 10,API 29;但我的目标是 API 30,难道我不能使用它吗?

标签: android wifi


【解决方案1】:

此意图操作是在 API 级别 30 中添加的,因此如果您在运行 API 级别 29 或更低级别的设备上运行此代码,它将不起作用。 请确保设备或模拟器在 API 级别 30 上运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多