HarmonyOS 鸿蒙Next connection.getAllNetsSync() 在明确已经声明权限的情况下提示权限拒绝

发布于 1周前 作者 caililin 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next connection.getAllNetsSync() 在明确已经声明权限的情况下提示权限拒绝

我在项目中需要使用 connection.getAllNetsSync()判断当前可用网络,已经在Entry的module.json5中声明了权限ohos.permission.GET_NETWORK_INFO,但是仍然抛出异常201- Permission denied.  

“name”:
“ohos.permission.GET_NETWORK_INFO”, “reason”:
“$string:reason”, “usedScene”:
{
“abilities”: [
“EntryFormAbility” ],
“when”:
“inuse”
}
/** * 判断当前是否存在可用网络 * netId: *  101 - wifi *  102 - 蜂窝网 * @returns */
public isNetworkEnable():boolean
{
try {
let nets = connection.getAllNetsSync();
return nets !== undefined && nets.length > 0;
} catch (e) {
Log.error('isNetworkEnable error ’ + JSON.stringify(e))
return false;
}
}


更多关于HarmonyOS 鸿蒙Next connection.getAllNetsSync() 在明确已经声明权限的情况下提示权限拒绝的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复
请将修改"abilities": ["EntryFormAbility"],为"abilities": ["EntryAbility"],后重试,谢谢!

更多关于HarmonyOS 鸿蒙Next connection.getAllNetsSync() 在明确已经声明权限的情况下提示权限拒绝的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对您提到的HarmonyOS鸿蒙系统中Next connection.getAllNetsSync()方法在已声明权限的情况下仍提示权限拒绝的问题,这通常涉及到几个潜在的原因:

  1. 权限声明与请求不一致:确保在config.json中正确声明了所有必要的网络访问权限,并且这些权限与您的应用实际尝试执行的操作相匹配。

  2. 动态权限请求缺失:对于某些敏感权限,即使在config.json中声明,也可能需要在运行时通过代码动态请求用户授权。请检查您的应用是否遗漏了这一步。

  3. 系统或版本差异:不同版本的HarmonyOS可能在权限管理上存在差异。确认您的开发环境和目标设备或模拟器的系统版本是否支持您的权限请求。

  4. 应用签名问题:应用签名不匹配或证书过期也可能导致权限验证失败。

  5. API使用不当:确认getAllNetsSync()方法的调用符合API文档的规定,包括任何必要的参数和调用环境。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。在那里,您可以获得更专业的技术支持。

回到顶部