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

如何做家教网站赚钱网站关键词推广价格

如何做家教网站赚钱,网站关键词推广价格,苏州电子商务网站建设,如何做好一个网站的推广Android Wifi 的扫描场景分为下面四种情况: 1.亮屏情况下,在Wifi settings界面,固定扫描,扫描时间为10s。 2.亮屏情况下,在非Wifi settings界面,二进制指数退避扫描,退避:interval…

Android Wifi 的扫描场景分为下面四种情况:

1.亮屏情况下,在Wifi settings界面,固定扫描,扫描时间为10s。

2.亮屏情况下,在非Wifi settings界面,二进制指数退避扫描,退避:interval*(2^n), 最小间隔min=20s, 最大间隔max=160s.

3.灭屏情况下,有保存网络时,若已连接,不扫描,否则,PNO扫描,即只扫描已保存的网络。最小间隔min=20s,最大间隔max=20s*3=60s。

4.无保存网络情况下,固定扫描,间隔为5分钟,用于通知用户周围存在可用开放网络。

1.亮屏情况下,在Wifi settings界面,固定扫描,扫描时间为10s。

从 wifi扫描流程梳理 可以看到wifi扫描流程会走到WifiTracker的handleMessage函数中,我们看sendEmptyMessageDelayed,会发送一条扫描的信息,其中包含了WIFI_RESCAN_INTERVAL_MS,WIFI_RESCAN_INTERVAL_MS就是默认的扫描周期,可以看到系统设置的默认周期是10 * 1000,也就是10秒。

WifiTracker.java

public void handleMessage(Message message) {if (message.what != MSG_SCAN) return;if (mWifiManager.startScan()) {mRetry = 0;} else if (++mRetry >= 3) {mRetry = 0;if (mContext != null) {Toast.makeText(mContext, R.string.wifi_fail_to_scan, Toast.LENGTH_LONG).show();}return;}sendEmptyMessageDelayed(MSG_SCAN, WIFI_RESCAN_INTERVAL_MS);}

2.亮屏情况下,在非Wifi settings界面,二进制指数退避扫描,退避:interval*(2^n), 最小间隔min=20s, 最大间隔max=160s.

WifiConnectivityManager.java

startConnectivityScan --> startPeriodicScan --> startPeriodicSingleScan

private void startConnectivityScan(boolean scanImmediately) {// Always stop outstanding connecivity scan if there is anystopConnectivityScan();if (mWifiState != WIFI_STATE_CONNECTED && mWifiState != WIFI_STATE_DISCONNECTED) {return;}if (mScreenOn) {startPeriodicScan(scanImmediately);} else {if (mWifiState == WIFI_STATE_DISCONNECTED && !mPnoScanStarted) {startDisconnectedPnoScan();}}}
private void startPeriodicScan(boolean scanImmediately) {mPnoScanListener.resetLowRssiNetworkRetryDelay();if (scanImmediately) {resetLastPeriodicSingleScanTimeStamp();}mPeriodicSingleScanInterval = PERIODIC_SCAN_INTERVAL_MS;startPeriodicSingleScan();}
// Start a single scan and set up the interval for next single scan.private void startPeriodicSingleScan() {long currentTimeStamp = mClock.getElapsedSinceBootMillis();if (mLastPeriodicSingleScanTimeStamp != RESET_TIME_STAMP) {long msSinceLastScan = currentTimeStamp - mLastPeriodicSingleScanTimeStamp;if (msSinceLastScan < PERIODIC_SCAN_INTERVAL_MS) {localLog("Last periodic single scan started " + msSinceLastScan+ "ms ago, defer this new scan request.");schedulePeriodicScanTimer(PERIODIC_SCAN_INTERVAL_MS - (int) msSinceLastScan);return;}...............if (isScanNeeded) {mLastPeriodicSingleScanTimeStamp = currentTimeStamp;startSingleScan(isFullBandScan, WIFI_WORK_SOURCE);schedulePeriodicScanTimer(mPeriodicSingleScanInterval);// Set up the next scan interval in an exponential backoff fashion.mPeriodicSingleScanInterval *= 2;if (mPeriodicSingleScanInterval >  MAX_PERIODIC_SCAN_INTERVAL_MS) {mPeriodicSingleScanInterval = MAX_PERIODIC_SCAN_INTERVAL_MS;}} else {// Since we already skipped this scan, keep the same scan interval for next scan.schedulePeriodicScanTimer(mPeriodicSingleScanInterval);}}

对于扫描间隔的设置

    // Periodic scan interval in milli-seconds. This is the scan// performed when screen is on.public static final int PERIODIC_SCAN_INTERVAL_MS = 20 * 1000; // 20 seconds// When screen is on and WiFi traffic is heavy, exponential backoff// connectivity scans are scheduled. This constant defines the maximum// scan interval in this scenario.@VisibleForTestingpublic static final int MAX_PERIODIC_SCAN_INTERVAL_MS = 160 * 1000; // 160 seconds

3.灭屏情况下,有保存网络时,若已连接,不扫描,否则,PNO扫描,即只扫描已保存的网络。最小间隔min=20s,最大间隔max=20s*3=60s。

待续

4.无保存网络情况下,固定扫描,间隔为5分钟,用于通知用户周围存在可用开放网络。

(注:第四种情况属于Android O的逻辑,因为在P的代码里还没有找到关于这个扫描的代码,也可能取消了)

WifiStateMachine.java

class DisconnectedState extends State {@Overridepublic void enter() {Log.i(TAG, "disconnectedstate enter");// We dont scan frequently if this is a temporary disconnect// due to p2pif (mTemporarilyDisconnectWifi) {p2pSendMessage(WifiP2pServiceImpl.DISCONNECT_WIFI_RESPONSE);return;}/** clear the roaming state, if we were roaming, we failed */mIsAutoRoaming = false;mWifiConnectivityManager.handleConnectionStateChanged(WifiConnectivityManager.WIFI_STATE_DISCONNECTED);/*** If we have no networks saved, the supplicant stops doing the periodic scan.* The scans are useful to notify the user of the presence of an open network.* Note that these are not wake up scans.*/if (mNoNetworksPeriodicScan != 0 && !mP2pConnected.get()&& mWifiConfigManager.getSavedNetworks().size() == 0) {sendMessageDelayed(obtainMessage(CMD_NO_NETWORKS_PERIODIC_SCAN,++mPeriodicScanToken, 0), mNoNetworksPeriodicScan);}mDisconnectedTimeStamp = mClock.getWallClockMillis();mWifiStateTracker.updateState(WifiStateTracker.DISCONNECTED);}
mNoNetworksPeriodicScan = mContext.getResources().getInteger(R.integer.config_wifi_no_network_periodic_scan_interval);

/frameworks/base/core/res/res/values/config.xml
mNoNetworksPeriodicScan在config.xml中注册,周期为5分钟。

<!-- Integer indicating the framework no networks periodic scan interval in milliseconds. -->
<integer translatable="false" name="config_wifi_no_network_periodic_scan_interval">300000</integer>

http://www.hkea.cn/news/627458/

相关文章:

  • 漳州网站设计东莞网站制作模板
  • 制作应用的软件成都排名seo公司
  • 北京专业企业网站建设俄罗斯搜索引擎入口 yandex
  • wordpress 怎么改中文网站推广优化价格
  • 南山做网站公司怎么选择企业seo优化服务
  • 什么 电子商务网站建设与管百度招商加盟
  • 南召微网站开发手机优化大师官方版
  • 营销型网站技术特点网站推广网
  • 龙游县住房和城乡建设局网站百度seo优化方法
  • 深圳方维网站建设设计个人网站
  • wordpress 流量站百度应用
  • ps素材网seo在线工具
  • 岳阳网站开发公司html网站模板免费
  • 怎样用模板做网站优化网站技术
  • 全国新型疫情最新情况长沙网站搭建优化
  • 郑州网站建设规划seo建站教程
  • 购物网站 购物车界面如何做百度搜索网
  • 推广网站的图片怎么做外贸平台
  • 新手如何给自己的网站做优化bt种子磁力搜索
  • 成都学校网站制作遵义网站seo
  • d?t网站模版宁波seo在线优化哪家好
  • c做的网站淄博做网站的公司
  • 网站开发制作公司郑州网站建设外包
  • 注册域名用个人还是公司好长沙seo优化排名
  • 电子商务网站建设与维护展望今日新闻联播
  • 网站建设主流技术站长之家ping检测
  • 温州建设集团有限公司网站首页百度手机版网页
  • 广西网络干部学院官网seo推广人员
  • 可以做红娘的相亲网站江北seo综合优化外包
  • 公司建设网站需要注意什么软文广告示范