You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用.NET MAUI在Android设备上编程打开WiFi设置页面

在.NET MAUI中打开Android系统WiFi设置页面

需求:通过.NET MAUI在Android设备上打开系统「设置>连接>WiFi」页面,该页面会显示当前已连接网络及可用网络(不同Android版本界面有差异),供用户选择程序此前创建的本地WiFi网络。

遇到的问题:知道需要调用平台特定代码,但不清楚对应的Android API;尝试过AppInfo.Current.ShowSettingsUI(),但打开的是应用设置页面,不是目标系统WiFi设置页面;不懂Java,在Android开发者文档中无从下手,暂未明确所需权限。


成功实现步骤

1. 编写ViewModel基础方法

先在ViewModel中创建按钮触发的异步方法:

namespace SandboxProject.ViewModel;
public partial class OpenSettingsAttemptsPageViewModel : ObservableObject
{
    [RelayCommand]
    private async Task ActionWifiSettings()
    {
        // 后续添加平台代码
    }
}

2. 添加核心Android平台调用代码

在方法中添加Android平台的Intent调用,直接打开WiFi设置页面:

[RelayCommand]
private async Task ActionWifiSettings()
{
    Platform.CurrentActivity?.StartActivity(new Intent(Settings.ActionWifiSettings));
}

3. 优化代码(条件编译、引用与异常处理)

添加条件编译指令确保仅在Android平台生效,引入必要的命名空间,并添加异常处理:

#if ANDROID
using Android.Content;
using Android.Provider;
#endif

namespace SandboxProject.ViewModel;
public partial class OpenSettingsAttemptsPageViewModel : ObservableObject
{
    [RelayCommand]
    private async Task ActionWifiSettings()
    {
#if ANDROID
        try
        {
            Platform.CurrentActivity?.StartActivity(new Intent(Settings.ActionWifiSettings));
        }
        catch (Exception ex)
        {
            await App.Current!.MainPage!.DisplayAlert("Exception", ex.Message, "OK");
        }
#endif
    }
}

测试验证

在多个不同版本的Android模拟器及实体手机上测试,代码运行良好,无需修改AndroidManifest.xml的默认权限设置。


内容的提问来源于stack exchange,提问作者Bob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 13:20:18