当前位置: 首页 > news >正文

网站百度提示风险qq赞网站推广免费

网站百度提示风险,qq赞网站推广免费,做公司网站都需要什么,企业网站建设 广州Android 实现热点开机后自动开启 文章目录 Android 实现热点开机后自动开启一、前言二、实现方式1、在 WifiServiceImpl 启动热点2、在开机广播中开启热点 三、其他1、热点开机自启动方式总结2、热点开启流程3、热点启动相关日志4、其他热点相关知识分享 一、前言 Android 热点…Android 实现热点开机后自动开启 文章目录 Android 实现热点开机后自动开启一、前言二、实现方式1、在 WifiServiceImpl 启动热点2、在开机广播中开启热点 三、其他1、热点开机自启动方式总结2、热点开启流程3、热点启动相关日志4、其他热点相关知识分享 一、前言 Android 热点是有api设置永久开启热点名称热点密码等接口但是“永久开启”实际上是不自动关闭重启设备后热点并不会自动开启。 Android Wifi实现开关状态记忆是基于Settings.GLOBAL.WIFI_ON属性 所以热点如果要实现状态记忆那么也是要设置一个Settings属性或者prop属性 系统启动后判断属性决定是否启动热点就可以实现热点状态记忆了。 Android Wifi有自己的服务WifiService和服务实现WifiServiceImpl 热点是没有对应服务的那怎么办呢大致有两种方法可以解决。 二、实现方式 1、在 WifiServiceImpl 启动热点 热点操作其实同样在 WifiServiceImpl 判断处理即可因为热点的api实现很多也是封装在WifiServiceImpl 里面的。 packages\modules\Wifi\service\java\com\android\server\wifi\WifiServiceImpl.java import android.os.SystemProperties; //记得导包/*** WifiService handles remote WiFi operation requests by implementing* the IWifiManager interface.*/ public class WifiServiceImpl extends BaseWifiService {//系统服务启动后判断Wifi的逻辑方法public void checkAndStartWifi() {//根据wifi 属性判断是否启动wifimWifiThreadRunner.post(() - { 。。。// Check if wi-fi needs to be enabledboolean wifiEnabled mSettingsStore.isWifiToggleEnabled();Log.i(TAG,WifiService starting up with Wi-Fi (wifiEnabled ? enabled : disabled)); //可以看到这里是有个打印的 。。。}}//根据热点 属性判断是否启动热点mWifiThreadRunner.postDelayed(() - {boolean isHotspotEnable SystemProperties.getBoolean(persist.skg.hotspot.enable, false);Log.d(TAG, checkAndStartWifi start ap isHotspotEnable isHotspotEnable);if (isHotspotEnable) {startTetheredHotspot(getSoftApConfiguration(), mContext.getPackageName());}},100);//延时一下比较好避免wifi启动未处理完成} }开机后抓的WifiService 关键字的 logcat 日志 console:/ # logcat | grep WifiService 12-14 17:34:21.258 639 639 I SystemServiceManager: Starting com.android.server.wifi.WifiService 12-14 17:34:21.289 639 639 I WifiService: Registering wifi //wifi是否启动日志 12-14 17:34:21.910 639 803 I WifiService: WifiService starting up with Wi-Fi enabled ... //自己添加的热点是否需要启动的日志 12-14 18:33:35.902 639 803 D WifiService: checkAndStartWifi start ap isHotspotEnable true 12-14 18:33:35.903 639 803 I WifiService: startTetheredHotspot uid1000 ... 12-14 18:33:36.011 639 803 D WifiService: updateInterfaceIpState: ifaceNameap0 mode1 previous LOHS mode -1 12-14 18:33:36.636 639 863 I WifiService: acquireMulticastLock uid1000 12-14 18:33:39.621 639 803 D WifiService: handleBootCompleted---mIsBootComplete---true2、在开机广播中开启热点 Android 原生广播 Intent.ACTION_BOOT_COMPLETED android.intent.action.BOOT_COMPLETED 应用接收到开机广播后开启热点 boolean isHotspotEnable SystemProperties.getBoolean(persist.skg.hotspot.enable, false); Log.d(TAG, checkAndStartWifi start ap isHotspotEnable isHotspotEnable); if (isHotspotEnable) {ConnectivityManager mConnectivityManager (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);mConnectivityManager.startTethering(TETHERING_WIFI, true, null, new Handler(Looper.getMainLooper())); } 但是开机广播有些方案上会比较慢有些要界面显示后还要等半分钟左右才才收到开机广播。 这种情况一般是静态接收开机广播的情况广播优先级并未提高系统多个接收广播的地方有耗时处理导致。 开机广播慢解决的方法 1、自定义开机广播不用等所有的系统服务启动完成就发出该广播BOOT_COMPLETED 也是在 UserController.java 里面发出的可以在之前发出自定义广播会比所有的 BOOT_COMPLETED 广播都快但是需要对系统启动有一定的了解避免写出bugframeworks\base\services\core\java\com\android\server\am\UserController.java2、静态广播提高优先级receiver android:name.MyReceiverintent-filter android:priority1000action android:nameandroid.intent.action.BOOT_COMPLETED//intent-filter /receiver3、动态注册开机广播开机广播也是可以动态注册的一般是在自己定义的系统服务内进行监听会比静态广播收到更早。 三、其他 1、热点开机自启动方式总结 1系统服务启动的时候启动热点2开机广播启动热点怎么设置自己定义的属性上面并没有讲因为我这边的系统一般都是自己的设置应用在设置应用点击开关的时候设置那个属性就行了。 但是如果全是用的原生的应用呢并且要保证其他app开关热点能够同步信息就要在热点启动流程里面设置那个属性了 代码TetheringManager startTethering 和 stopTethering ,具体流程可以往下看看。 2、热点开启流程 https://blog.csdn.net/wenzhi20102321/article/details/128473734 3、热点启动相关日志 看了上面启动流程可以发现热点最重要的日志是在 SoftApManager 里面 logcat -c ;logcat | grep -E TetheringManager|SoftApManager //1调用开启热点接口和应用包名 12-19 14:38:01.748 1902 7767 I TetheringManager: startTethering caller:com.my.settings//2热点开启成功 12-19 14:38:01.966 949 1267 D SoftApManager[ap0]: Soft AP is started //3热点部分信息 12-19 14:38:02.430 949 1267 D SoftApManager[ap0]: SoftApInfo update SoftApInfo{bandwidth 3, frequency 5745,bssidbe:05:dc:cb:ae:86, wifiStandard 5, mApInstanceIdentifier ap0, mIdleShutdownTimeoutMillis 600000}, isRemoved: false 12-19 14:38:02.431 949 1267 D SoftApManager[ap0]: rescheduleTimeoutMessageIfNeeded ap0, timeoutEnabledtrue, isChargingfalse, clientNumber0 //4热点10分钟后自动关闭 12-19 14:38:02.434 949 1267 D SoftApManager[ap0]: Timeout message scheduled, on ap0, delay 600000//5调用热点关闭和应用包名 12-19 14:38:11.244 1902 1902 I TetheringManager: stopTethering caller:com.my.settings //6热点关闭成功 12-19 14:38:11.556 949 1267 D SoftApManager[ap0]: Soft AP is stopped 12-19 14:38:11.559 949 1267 D SoftApManager[ap0]: Timeout message canceled on ap0 12-19 14:38:11.569 949 1267 V WifiActiveModeWarden: ModeManager removed SoftApManager{id547203 ifacenull rolenull}4、其他热点相关知识分享 都是一些自己开发中遇到的知识记录 Android11 热点设置永不关闭 Android11 设置默认热点名称和热点密码、密码长度 Android11 热点配置信息保存分析 Android13分享热点设置安全性为wpa3 Android11 热点Band值为3 Android11 Wifi 加密类型详解
http://www.zqtcl.cn/news/887165/

相关文章:

  • 自己如何做网站教程中山企业网站推广公司
  • 网站每年费用本地同城服务平台
  • 暗网网站有那些青岛网站设计公司推荐
  • 营业执照咋做网等网站遂宁网站建设公司哪家好
  • 湖南平台网站建设找哪家重庆网站建设营销
  • wordpress搭建企业网站小型网络架构
  • 淘宝联盟链接的网站怎么做培训网站排名
  • 上海高端网站建设定制大连开发区邮编
  • 手机网站公司免费crm软件下载
  • 家居企业网站建设平台周口seo
  • 扁平化网站建设公司广告推广方案
  • 高端企业网站 程序北京做网站费用
  • net做网站遇到的问题搜索引擎优化方法
  • 专业的设计网站有哪些网站数据库做好了 怎么做网页
  • 鄂州网站建设公司网站制作过程教程
  • 网站建设课程小结二建证考试需要什么条件
  • 比较好的商城网站设计品牌策划案
  • 自适应科技公司网站模板做网站的公司深
  • 网站怎么吸引流量用淘宝做公司网站
  • asp做的网站后台怎么进去老河口城乡建设局网站
  • 中铁建设集团有限公司官方网站wordpress质感
  • 那个网站点击率高pc网站自动生成app
  • 东莞营销型网站建站淘金企业网站建设
  • 怎么用模板做网站手机python编程软件
  • 做视频网站都需要什么软件下载广东网站建设哪家专业
  • 开淘宝的店铺网站怎么做网页设计需要学什么书
  • 如何做收费网站微信小程序开发教程详解
  • 软件下载网站如何履行安全管理义务网站合同书
  • 普宁17网站一起做淘宝网站建设 丽水
  • 网站注册需要多少钱wordpress缓存失败