android 自定义热点区,更改Android热点设置

在Android API级别26及以上版本,应用无法直接使用隐藏API获取和设置热点配置,会遇到权限问题。解决方法是需要持有`android.permission.OVERRIDE_WIFI_CONFIG`权限,这是一个系统级别的权限,意味着应用需要由平台密钥签名或具有相应权限才能调用。
摘要由CSDN通过智能技术生成

随着API级别26的发布,我的应用程序的核心功能破了,这就是改变了应用程序中用户的热点设置.

要获取和设置此配置,我使用WifiManager隐藏的api:getWifiApConfiguration和setWifiApConfiguration中的以下函数.

Method getWifiApConfiguration = wifiManager.getClass().getMethod("getWifiApConfiguration");

getWifiApConfiguration.invoke(wifiManager);

这适用于Android O之前的设备,但在此版本中我收到以下错误:

App not allowed to read or update stored WiFi Ap config (uid = 10168)

我在清单中声明的​​权限是:

如何使用最新的API执行此操作?

解决方法:

从Android Oreo(26)开始,新的权限检查被添加到getWifiApConfiguration()方法的服务实现中:

/**

* see {@link WifiManager#getWifiApConfiguration()}

* @return soft access point configuration

* @throws SecurityException if the caller does not have permission to retrieve the softap

* config

*/

@Override

public WifiConfiguration getWifiApConfiguration() {

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值