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

如何在.NET 9 MAUI应用中设置并激活SEND_SMS权限?

.NET 9 MAUI 短信应用 SEND_SMS 权限无法激活问题解决

问题背景

使用.NET 9开发MAUI短信发送应用,已在Android清单中添加SEND_SMS权限并编译签名APK,但手机端权限显示“wipeout”,尝试激活时跳转教程页面但流程无效。

可能原因及解决方案

1. 仅静态声明权限不足以触发授权流程

SEND_SMS属于Android危险权限,Android 6.0(API 23)及以上版本,除了在清单中静态声明,还需要动态申请权限。

在MAUI中,使用内置权限API处理:

// 在需要发送短信的页面或ViewModel中调用
var status = await Permissions.RequestAsync<Permissions.Sms>();
if (status != PermissionStatus.Granted)
{
    // 处理权限未授予的情况,比如提示用户手动授权
}

2. 检查清单权限声明的完整性

确保AndroidManifest.xml中的权限声明格式正确,可补充protectionLevel明确权限类型(部分系统可能需要显式声明):

<uses-permission android:name="android.permission.SEND_SMS" android:protectionLevel="dangerous" />

若应用需要读取短信状态,可补充关联权限:

<uses-permission android:name="android.permission.READ_SMS" />

3. 验证APK签名有效性

签名错误可能导致系统无法正确识别应用权限:

  • 确认MAUI项目csproj中已正确配置签名参数:
    <PropertyGroup Condition="'$(Configuration)' == 'Release'">
      <AndroidSigningKeyStore>your-keystore-path.keystore</AndroidSigningKeyStore>
      <AndroidSigningStorePassword>your-store-password</AndroidSigningStorePassword>
      <AndroidSigningKeyAlias>your-key-alias</AndroidSigningKeyAlias>
      <AndroidSigningKeyPassword>your-key-password</AndroidSigningKeyPassword>
    </PropertyGroup>
    
  • 重新编译签名APK,确保签名过程无报错。

4. 处理系统授权跳转异常

若系统跳转教程无效,可尝试:

  • 手动进入手机设置→应用管理→你的应用→权限,找到短信权限并手动开启。
  • 检查是否有第三方安全软件拦截权限申请,临时关闭后重试。

5. 确认项目SDK版本配置

确保项目的minSdkVersion不低于SEND_SMS要求的最低版本(API 19),在AndroidManifest.xml或csproj中配置:

<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="34" />

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 21:17:37