测试平台

Platform: RK3399
OS: Android 8

现象

客户做了一个dlna的接受端apk,由手机向设备推送视频/音乐.但是测试中发现了个奇怪的问题,当使用wifi联网时,屏幕关闭后手机就无法扫描发现设备端了,但是使用以太网却没有问题

分析解决

查看wifi相关代码后发现,在WifiStateMachine.java中会监听屏幕开关并更新wifi状态导致dlna无法发现.系统的初衷可能是处于耗电考虑,对我们来说关闭这里的监听即可

diff --git a/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiStateMachine.java b/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiStateMachine.java
index ac5abec..64f1ce7 100644
--- a/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiStateMachine.java
+++ b/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiStateMachine.java
@@ -986,22 +986,22 @@ public class WifiStateMachine extends StateMachine implements WifiNative.WifiRss// TODO - needs to be a bit more dynamicmDfltNetworkCapabilities = new NetworkCapabilities(mNetworkCapabilitiesFilter);-        IntentFilter filter = new IntentFilter();
-        filter.addAction(Intent.ACTION_SCREEN_ON);
-        filter.addAction(Intent.ACTION_SCREEN_OFF);
-        mContext.registerReceiver(
-                new BroadcastReceiver() {-                    @Override
-                    public void onReceive(Context context, Intent intent) {-                        String action = intent.getAction();
-
-                        if (action.equals(Intent.ACTION_SCREEN_ON)) {-                            sendMessage(CMD_SCREEN_STATE_CHANGED, 1);
-                        } else if (action.equals(Intent.ACTION_SCREEN_OFF)) {-                            sendMessage(CMD_SCREEN_STATE_CHANGED, 0);
-                        }
-                    }
-                }, filter);
+        // IntentFilter filter = new IntentFilter();
+        // filter.addAction(Intent.ACTION_SCREEN_ON);
+        // filter.addAction(Intent.ACTION_SCREEN_OFF);
+        // mContext.registerReceiver(
+        //         new BroadcastReceiver() {+        //             @Override
+        //             public void onReceive(Context context, Intent intent) {+        //                 String action = intent.getAction();
+
+        //                 if (action.equals(Intent.ACTION_SCREEN_ON)) {+        //                     sendMessage(CMD_SCREEN_STATE_CHANGED, 1);
+        //                 } else if (action.equals(Intent.ACTION_SCREEN_OFF)) {+        //                     sendMessage(CMD_SCREEN_STATE_CHANGED, 0);
+        //                 }
+        //             }
+        //         }, filter);mContext.getContentResolver().registerContentObserver(Settings.Global.getUriFor(Settings.Global.WIFI_SUSPEND_OPTIMIZATIONS_ENABLED), false,

[RK3399][Android8]WIFI:使用wifi联网时,关闭屏幕后dlna设备无法发现相关推荐

  1. android平板怎么上网,昂达教你用平板(1):如何进行WiFi/3G/以太网联网

    国内平板市场占有率第一品牌昂达电子于近日正式启动"全民平板普及"活动,将根据用户集中反馈问题的解决方法以及平板使用中的一些技巧带给大家,以便大家能更好的认识.使用Android平板 ...

  2. python自动检测wifi是否能联网,断开wifi重新连接wifi的代码。

    #文件名 pyWIFI.py #python自动检测wifi是否能联网,断开wifi重新连接wifi的代码.# 网上下载安装Python3.8 # 配置环境变量 以下为参考 # python环境变量 ...

  3. Android -- Wifi热点的打开与关闭流程简介

    Android -- Wifi热点的打开与关闭流程简介 在Android手机中,热点也是一个较为常用的功能.对于framework开发者来说,要开发.维护SoftAp,了解framework中热点开关 ...

  4. android p2p 连接服务器上,当通过Wi-Fi P2P使用网络服务发现时无法连接到Android设备每个人都可以使用网络服务发现...

    ! 我正在开发一个Android应用程序,允许与附近已安装此应用程序的设备聊天.为了做到这一点,我使用Wi-Fi P2P API和网络服务发现来搜索附近的设备. 我已经编写了用于在服务启动的线程中搜索 ...

  5. 瑞芯微RK3399嵌入式开发板Wifi 驱动 build in 方式

     RK3399的CPU采用big.LITTLE大小核架构,双Cortex-A72大核+四Cortex-A53小核结构,对整数.浮点.内存等作了大幅优化,在整体性能.功耗及核心面积三个方面都具革命性提升 ...

  6. android8.1 相机(SnapdragonCamera)长按拍照时关闭闪光灯

    我们公司用的是高通sdm660平台,oppo等大厂长按相机拍照时,即使闪光灯打开也不会亮,从SnapdragonCamera里面通过设置parameters = camera.getParameter ...

  7. linux中关于wifi函数,wifi详解(五)

    user interface Android WiFiService WPA_Supplicant DHD Driver Dongle Binary BCM43xxHardware 蓝色:需要修改 黑 ...

  8. 6s连接wifi上不了网络连接服务器未响应,iPhone 6/iPhone 6S 突然连不上wifi,wifi开了连不上wifi信号差...

    原标题:iPhone 6/iPhone 6S 突然连不上wifi,wifi开了连不上wifi信号差 很多顾客反映iPhone6 /6S 信号差,信号弱,或是直接wifi就是灰色的,或者说wifi虽然开 ...

  9. android配置wifi,Android WIFI检测与设置

    WIFI是无线通信协议,可以允许手机直接连接到无线网络.在现在3G资费还比较贵的情况下,WIFI对于手机来说是很重要的,我们可以很方便的下载软件,音乐等资源.Android手机必须要有WIFI网卡才能 ...

最新文章

  1. 设计模式之原型模式(Prototype)摘录
  2. 「土行孙」机器人登上Science子刊封面,用气流在地下穿梭自如,速度达每秒4.8米...
  3. jpush java api_JPush極光推送Java服務器端API
  4. aimesh node重启_ASSIMP的数据结构
  5. [20171107]dbms_shared_pool.pin.txt
  6. linux系统sed语法,22. Linux sed命令
  7. 原型万事通,你想知道(但不敢问)的都在这里
  8. STM32 USB主机通信连接中断过程
  9. 从魅力品质到伟大产品-卡诺模型
  10. 报错 mysql 1194
  11. Beamer Template
  12. 中国机械锻压机市场发展态势与前景风险分析报告2022-2028年
  13. 什么是MT4软件?炒汇MT4软件有哪些功能和特点?
  14. android10新功能,三星A80升级安卓10 更新One UI 2.0内容新功能介绍
  15. 计算机专业转正定级,大学生毕业一年以后千万别忘了转正定级(转自小志)
  16. 【20保研】清华大学深圳国际研究生院电子信息工程(信息技术) 2019年优秀大学生暑期夏令营通知...
  17. 习题:输入abc的值求一元二次方程的解
  18. 线程池的创建及参数设置详解
  19. PS室内植物素材合成教程分享骞
  20. 义乌一院校专门培养“网络小贩”90后年入百万

热门文章

  1. 动图形象理解深度学习卷积
  2. 阿里架构师,谈对技术架构的理解,以及架构师角色的思考
  3. 我为什么要离开我现在工作的公司?
  4. 在android X(安卓10版本)运行创建父文件夹失败,解决办法
  5. 图片点击放大java_Eova列表显示图片并点击放大
  6. 面试官突然问我什么是后端?我通俗易懂的给他讲清楚了!
  7. 高中生计算机竞赛取消了么,有了强基计划,你还会让孩子参加信息奥赛吗?
  8. 谷歌浏览器不能正常打开,提示“哎呦,浏览器崩溃了...” 的解决方法
  9. 三菱PLC通过RS485串口连接维特智能Modbus协议角度姿态传感器(1)——环境搭建
  10. linux系统不死机了怎么办,Linux死机后怎么办