Tia*_*ira 6 android android-networking android-wifi hotspot
我们一直在使用WifiManager隐藏API来启用Wifi网络共享并创建一个接入点.Android上的API 26现在的问题是标签@RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED)已添加到setWifiApEnabled函数中,现在调用返回false并打印以下日志:
W/WifiManager:PACKAGE_NAME尝试调用setWifiApEnabled enabled = true
阅读新文档时,它表示该函数已弃用,并将在即将发布的版本中删除,而是ConnectivityManager#startTethering在调用者具有适当权限时使用,但此方法在没有TETHER_PRIVILEGED权限时也存在同样的问题.文档中提供的另一个选项是使用,LocalOnlyHotspot但这对项目没用,因为创建的热点没有Internet连接.
我还使用startSoftAp隐藏API中的函数进行了测试,但由于引发了以下异常,因此没有成功的结果:
WifiService:用户10164和当前进程都没有android.permission.NETWORK_STACK
是否有任何解决方法可以在较新的API上激活Wifi热点?我也搜索了Wifi网络共享的替代方案,但唯一可行的选择似乎是蓝牙网络共享,只有获得3G速度的缺点.还考虑了Wifi Aware和Wifi P2P,但这些都存在互联网连接不能在设备之间共享的问题.
有关如何处理此问题的任何建议?
小智 2
不,在 Android O 中,它们提高了安全性,因此现在您无法通过反射调用“startTethering”,因为它需要隐藏的 OnStartTetheringCallback,因此除非您使用 android build 编译系统 apk,否则您可以使用该 API。如果需要,您可以使用 LocalOnlyHotspotCallback
| 归档时间: |
|
| 查看次数: |
5724 次 |
| 最近记录: |