You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Android LocalOnlyHotspot频段(频率)的设置与获取问题求助

Android LocalOnlyHotspot频段(频率)的设置与获取问题求助

各位好,我现在在开发一款用到Android LocalOnlyHotspot功能的应用,卡在了频段(频率)的设置和获取上,想请大家帮忙支支招:

  • 我的核心需求是:能设置LocalOnlyHotspot的频段(2.4GHz/5GHz),哪怕至少能准确获取当前热点的实际频段也行。
  • 目前遇到的问题:在Galaxy A51设备上尝试调用setBand()方法完全没效果,热点能正常启动,但频段根本没按设置的来。
  • 我试过用反射调用隐藏API的方式来传自定义配置,代码是这样的:
    fun startLocalOnlyHotspotWithConfig(
        context: Context,
        config: SoftApConfiguration,
        executor: Executor?,
        callback: WifiManager.LocalOnlyHotspotCallback
    ) {
        val wifiManager = context.applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager
        WifiManager::class.java.getMethod(
            "startLocalOnlyHotspot",
            SoftApConfiguration::class.java,
            Executor::class.java,
            WifiManager.LocalOnlyHotspotCallback::class.java,
        ).invoke(wifiManager, config, executor, callback)
    }
    
  • 还有个特别诡异的现象:启动后实际热点是5GHz频段,但onStarted回调里打印的配置日志显示是2GHz(日志输出:Channels{1=0}),回调代码如下:
    override fun onStarted(reservation: WifiManager.LocalOnlyHotspotReservation) {
        super.onStarted(reservation)
        onReservationReceived(reservation)
        val config = reservation.softApConfiguration
        Log.d("LocalOnlyHotspotCallback", config.toString())
    }
    

现在我完全搞不懂为啥日志显示和实际频段对不上,也不知道怎么才能让频段设置真正生效,或者准确拿到实际的频段信息,有没有大佬遇到过类似的问题,给点思路或者解决方案?

内容来源于stack exchange

火山引擎 最新活动