解决android设备断电重启后WIFI不能自动重连的BUG(收藏)

描述:

如题,线上的设备大概率会出现WIFI不能重连的现象,而非断电模式重启(reboot)则不会出现这样的情况。

分析:

经分析这跟Linux的文件系统储存机制有关。用户层对文件进行写操作时,系统是先将文件存储在内存中,待CPU空闲后再将数据写入flash中,这是一种缓存机制,目的是提高文件的读写效率。但带来的是在机器突然断电的情况下丢失数据的风险。

解决方案:

在Linux系统中有命令sync,目的就是强制把内存中待写入的数据强制刷入flash中。回到我们的问题,我们在保存WIFI密码后调用sync命令即可。

在文件frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiNative.java中如下所示加入 fileSync();即可

private void fileSync(){
     Runtime runtime = Runtime.getRuntime();
         try {
           runtime.exec("sync");
         } catch (IOException e) {
           e.printStackTrace();
             Log.e(TAG, "fileSync");
        }
  }
 public boolean saveConfig() {
   boolean ret;
   ret = doBooleanCommand("SAVE_CONFIG");
    fileSync();//新增加
   return ret;
 }

总结

以上所述是小编给大家介绍的解决android设备断电重启后WIFI不能自动重连的BUG,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • android 添加按(power键)电源键结束通话(挂断电话)

    首先我们发现现在我们所用的android智能手机大部分都有当你在打电话时按power键来挂断电话,一般都是在设置中. 我主要是在原生源码中添加这一功能,主要用于学习....先看一张图:  看到那个按电源键挂断电话吧,那就是我所添加的,本来原生源码中是没有这一栏的..... 大概思路: 首先我先添加这一个checkboxPreference,然后将是否选择这一功能的值(0和1)存到data/data/com.android.providers.settings /databases/setting

  • android实现接通和挂断电话

    本文实例为大家分享了android实现接通和挂断电话的具体代码,供大家参考,具体内容如下 关键代码:[PhoneUtils类] package com.ebupt.phonerecorddemo.server; import java.lang.reflect.Method; import android.content.Context; import android.content.Intent; import android.telephony.TelephonyManager; impor

  • 解决android设备断电重启后WIFI不能自动重连的BUG(收藏)

    描述: 如题,线上的设备大概率会出现WIFI不能重连的现象,而非断电模式重启(reboot)则不会出现这样的情况. 分析: 经分析这跟Linux的文件系统储存机制有关.用户层对文件进行写操作时,系统是先将文件存储在内存中,待CPU空闲后再将数据写入flash中,这是一种缓存机制,目的是提高文件的读写效率.但带来的是在机器突然断电的情况下丢失数据的风险. 解决方案: 在Linux系统中有命令sync,目的就是强制把内存中待写入的数据强制刷入flash中.回到我们的问题,我们在保存WIFI密码后调用

  • 完美解决Android Studio集成crashlytics后无法编译的问题

    问题描述: 在用fabric集成后编译出现如下错误, Error:Cause: hostname in certificate didn't match: <maven.fabric.io> != <*.motili.com> OR <*.motili.com> OR <motili.com> build.gradle部分脚本(fabric插件自动生成的): buildscript { repositories { maven { url 'https://

  • 解决android有的手机拍照后上传图片被旋转的问题

    需求:做仿新浪发微博的项目,能够上传图片还有两外一个项目用到手机拍摄图片,这两个都需要把图片上传到服务器 遇到问题:有的手机拍摄的图片旋转90度,有的图片旋转了180度,有的手机是正常的,服务器要求的是正的,这样问题就来了,不能用户发个照片在微博上看到的是被旋转了的啊,另外一个项目里旋转了的图片直接匹配出现问题,这个更严重. 解决:开始的时候在网上没有找到很好的解决办法,谷歌百度的搜了一通,想到第一种解决方式,当手机拍照结束,在返回结果处理里面立即跳转到一个新的页面,在新的页面里让用户自己手动去

  • 解决Android studio3.6安装后gradle Download失败(构建不成功)

    因为课程需要,昨天好多同学在安装Android studio3.6.1后,无法构建,不知道什么原因,我的电脑上使用的是之前3.4版本的,可以正常使用,所以没太关心.但晚上我想到3.6版本应该有一些新功能,所以我就想升级一下,升级完之后,发现之内的设计视图是不显示的,需要该工程成功构建之后才能正常使用,于是我就build一下,结果就凉凉了 gradle Download十几分钟,然后失败 两次之后我想到可能是因为跨版本更新可能导致很多东西报错.于是卸载重新安装新版本的,之后构建情况一模一样, gr

  • Python实现树莓派WiFi断线自动重连的实例代码

    实现 WiFi 断线自动重连.原理是用 Python 监测网络是否断线,如果断线则重启网络服务. 1.Python 代码 autowifi.py,放在 /home/pi 目录下: #!/usr/bin/python import os, time while True: if '192' not in os.popen('ifconfig | grep 192').read(): print '\n****** wifi is down, restart... ******\n' os.syst

  • 解决Tomcat在修改代码后不会自动reload的问题

    1.找到使用的Tomcat安装目录conf配置文件夹下context.xml文件 2.找到<Context>节点,改为<Context reloadable="true">,如下图所示 3.重启Tomcat,任意修改一个类文件内容,即会自动reload. 注意:如果是用Myeclipse,其中本身内置了一些各种版本的Tomcat 像这里也有Tomcat7的配置文件,之前网上有人说可以修改这里的内容,但是发布时用的是自己配置的tomcat,所以并不能解决问题.

  • VMWare中Ubuntu重启后无法上网的解决方法

    如何解决VMWare中Ubuntu重启后无法上网,具体如下 原因:没有设置静态的DNS,导致系统每次重启都会把先前设置的DNS删除. 重启后无法上网: 1.查看DNS: 2.发现之前配置的DNS不见了 解决方法: (1)重新设置DNS 命令: 添加 nameserver 220.115.187.250(本地物理主机DNS) **(2)添加静态的DNS 命令:** 添加 dns-nameserver 220.115.187.250(本地物理主机DNS) 保存就生效了,重启也没问题. (3).成功上

  • Android设备之间通过Wifi通信的示例代码

    之前写过PC与Android之间通过WIFI通信(通过Socket,可以在博客里面搜索),PC作为主机,Android作为客户机,现在手头有一台仪器通过wifi传输数据,如果仪器作为主机发射WIFI热点信号,Android需要连接到该热点才能进一步进行通信,但是由于主机并没有连接到网络,所以在该种情况下Android设备无法使用网络实现相关的网络服务(比如关键数据的上传,网络数据的获取等等),所以仪器在开始设计的时候将其作为客户端,Android设备作为主机(网上的相关资料大多是将Android

  • 解决Android V7后自定义Toolbar、ActionBar左侧有空白问题

    如图所示: 1.查看Wiget.AppCompat.Toolbar的parent主题,如下所示: <style name="Base.Widget.AppCompat.Toolbar" parent="android:Widget"> <item name="titleTextAppearance">@style/TextAppearance.Widget.AppCompat.Toolbar.Title</item&

  • Android部分手机拍照后获取的图片被旋转问题的解决方法

    调用Android系统拍照功能后,三星手机拍摄后的照片被旋转了90度,横着拍给你变成竖的,竖的拍给你变成横的.其它品牌的手机都是正常的,就三星出现这个怪事. 在Android适配上,我原来一直以为国内的小米手机够奇葩了,结果还有更奇葩的!你说你没事旋转照片干啥,实在是猜不透其居心何在,纯粹是在给开发者制造麻烦啊! 解决办法是获取到拍照后照片被旋转的角度,再旋转回去就好了. 具体思路: 1.首先在调用拍照方法时,保存拍照后的相片原图,得到原图路径,(PhotoBitmapUtils是我自己写的一个

随机推荐