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

.NET MAUI中如何检查Android开发者选项/USB调试状态

在.NET MAUI中检查Android开发者选项与USB调试状态

要在.NET MAUI中实现Android平台的开发者选项和USB调试状态检查,需要借助依赖服务调用Android原生系统API(因为这是Android特有的功能,无法在跨平台共享代码中直接实现),具体步骤如下:

1. 定义跨平台接口

在共享项目中创建一个接口,统一声明需要的检查方法:

public interface IAndroidDeveloperSettings
{
    // 检查开发者选项是否开启
    bool IsDeveloperOptionsEnabled();
    // 检查USB调试是否开启
    bool IsUsbDebuggingEnabled();
}

2. 实现Android平台特定代码

在Android项目(Platforms/Android目录)中创建接口的实现类,调用Android原生Settings类读取系统设置:

using Android.Provider;
using Microsoft.Maui.ApplicationModel;

// 注册依赖服务
[assembly: Dependency(typeof(AndroidDeveloperSettings))]
namespace YourAppNamespace.Platforms.Android
{
    public class AndroidDeveloperSettings : IAndroidDeveloperSettings
    {
        public bool IsDeveloperOptionsEnabled()
        {
            // 读取开发者选项的全局设置值,默认返回0(关闭)
            return Settings.Global.GetInt(
                Platform.CurrentActivity.ContentResolver,
                Settings.Global.DevelopmentSettingsEnabled,
                0) == 1;
        }

        public bool IsUsbDebuggingEnabled()
        {
            // 读取USB调试的全局设置值,默认返回0(关闭)
            return Settings.Global.GetInt(
                Platform.CurrentActivity.ContentResolver,
                Settings.Global.AdbEnabled,
                0) == 1;
        }
    }
}

3. 在共享代码中调用检查逻辑

在需要检查的地方(如页面ViewModel、业务逻辑类),通过依赖服务获取实现实例并调用方法:

if (DeviceInfo.Platform == DevicePlatform.Android)
{
    var devSettings = DependencyService.Get<IAndroidDeveloperSettings>();
    bool isDevOptionsOn = devSettings.IsDeveloperOptionsEnabled();
    bool isUsbDebugOn = devSettings.IsUsbDebuggingEnabled();
    
    // 根据检查结果执行你的安全逻辑
    // 示例:如果开发者选项开启,触发安全提示
    if (isDevOptionsOn)
    {
        // 处理逻辑...
    }
}

注意事项

  • 无需申请额外权限:读取这些系统全局设置属于安全的只读操作,不需要在AndroidManifest.xml中添加权限声明。
  • 确保当前Activity可用:Platform.CurrentActivity仅在MAUI页面生命周期内有效,如果在后台服务中调用,需要通过其他方式获取ContentResolver。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 17:10:01