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

wordpress+手机站目录seo 网站地图

wordpress+手机站目录,seo 网站地图,网络营销推广方法有哪些,荆门网站开发公司电话AOSP Settings WIFI随机MAC地址功能 背景 最近客户提出了想要实现随机WIFIMAC地址的功能#xff08;我们默认WIFI的MAC地址是固定的#xff09;。网上搜到了一篇不错的文章#xff0c;本次改动也是基于这个来写的。 由于客户指定使用的settings是AOSP的#xff0c;所以在…AOSP Settings WIFI随机MAC地址功能 背景 最近客户提出了想要实现随机WIFIMAC地址的功能我们默认WIFI的MAC地址是固定的。网上搜到了一篇不错的文章本次改动也是基于这个来写的。 由于客户指定使用的settings是AOSP的所以在AOSP Settings上改动。 看了一下其实Amlogic提供的settings在这部分的代码量少多了。更好修改。 Android11 Wifi Mac地址设置随机或者固定分析_android11 获取wifi mac-CSDN博客 一、配置文件属性决定全局开启/关闭WIFI随机MAC 如果是需要固定死开启/关闭WIFI随机MAC只需要改动下面这个文件就可以了。 frameworks/opt/net/wifi/service/res/values/config.xml //WiFi MAC 是否随机设置 !-- Indicates that connected MAC randomization is supported on this device -- bool translatablefalse nameconfig_wifi_connected_mac_randomization_supportedtrue/bool//AP 一般是投屏 MAC 是否随机设置 !-- Indicates that p2p MAC randomization is supported on this device -- bool translatablefalse nameconfig_wifi_p2p_mac_randomization_supportedfalse/bool//AP 一般是热点 MAC 是否随机设置 !-- Indicates that AP mode MAC randomization is supported on this device -- bool translatablefalse nameconfig_wifi_ap_mac_randomization_supportedtrue/bool不过这样做只能定死不能随用户心情改动。 这个文件一旦编译完成就不可以更改。 因此需要把这个判断逻辑改掉不用它判断。 二、修改判断逻辑为prop属性 由于我们要新增加一个prop属性所以写属性的读取属性的方法都要写。 frameworks/opt/net/wifi/service/java/com/android/server/wifi/ClientModeImpl.java 这个函数是判断资源文件中是否随机WIFI MAC的位置 /*** Helper method to check if Connected MAC Randomization is supported - onDown events are* skipped if this feature is enabled (b/72459123).** return boolean true if Connected MAC randomization is supported, false otherwise*/ public boolean isConnectedMacRandomizationEnabled() {return mContext.getResources().getBoolean( R.bool.config_wifi_connected_mac_randomization_supported); }我们将其修改成判断prop属性 --- a/frameworks/opt/net/wifi/service/java/com/android/server/wifi/ClientModeImpl.javab/frameworks/opt/net/wifi/service/java/com/android/server/wifi/ClientModeImpl.java-153,6 153,7 import java.util.List;import java.util.Set;import java.util.concurrent.atomic.AtomicBoolean;import java.util.concurrent.atomic.AtomicInteger; import android.os.SystemProperties; -210,6 211,7 public class ClientModeImpl extends StateMachine {protected void log(String s) {Log.d(getName(), s);}private static final String PROP_MAC_RANDOMIZATION persist.mac_randomization_enabled;private final WifiMetrics mWifiMetrics;private final WifiInjector mWifiInjector;private final WifiMonitor mWifiMonitor;-3334,8 3336,7 public class ClientModeImpl extends StateMachine {public boolean isConnectedMacRandomizationEnabled() { - return mContext.getResources().getBoolean( - R.bool.config_wifi_connected_mac_randomization_supported);return SystemProperties.getBoolean(PROP_MAC_RANDOMIZATION, false);}还有一个地方也涉及到随机WIFI MAC的判断 --- a/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiConfigManager.javab/frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiConfigManager.java-75,6 75,7 import java.util.HashSet;import java.util.List;import java.util.Map;import java.util.Set; import android.os.SystemProperties; -329,6 330,7 public class WifiConfigManager {private final NetworkListSharedStoreData mNetworkListSharedStoreData;private final NetworkListUserStoreData mNetworkListUserStoreData;private final RandomizedMacStoreData mRandomizedMacStoreData;private static final String PROP_MAC_RANDOMIZATION persist.mac_randomization_enabled; -645,10 647,10 public class WifiConfigManager {* Returns whether MAC randomization is supported on this device.* param config* return* modified by zhangt 2024.02.19*/private boolean isMacRandomizationSupported() { - return mContext.getResources().getBoolean( - R.bool.config_wifi_connected_mac_randomization_supported);return SystemProperties.getBoolean(PROP_MAC_RANDOMIZATION, false);}我是在同时修改上面两处内容后才成功的。 三、在WIFI 详细内容界面增加Switch开关用来开启关闭该功能 packages/apps/Settings/res/xml/wifi_network_details_fragment2.xml --- a/packages/apps/Settings/res/xml/wifi_network_details_fragment2.xmlb/packages/apps/Settings/res/xml/wifi_network_details_fragment2.xml-83,6 83,12 android:summarystring/wifi_subscription_summarysettings:allowDividerAbovetrue/ SwitchPreferenceandroid:keyrandom_mac_address_switchandroid:titlestring/random_mac_address_titleandroid:summarystring/random_mac_address_summaryandroid:defaultValuefalse /这里WIFI 详细内容界面的xml文件是上面这个。 然后我们要在这个界面的具体逻辑代码中进行实现。 --- a/packages/apps/Settings/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.javab/packages/apps/Settings/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java-55,6 55,10 import java.time.Clock;import java.time.ZoneOffset;import java.util.ArrayList;import java.util.List; import android.os.SystemProperties; import androidx.preference.SwitchPreference; import androidx.preference.Preference; import android.os.Bundle; -75,6 79,12 public class WifiNetworkDetailsFragment2 extends DashboardFragment implements// Interval between initiating SavedNetworkTracker scansprivate static final long SCAN_INTERVAL_MILLIS 10_000; private WifiManager wifiManager;private SwitchPreference randomMacAddressPreference;private static final String PROP_MAC_RANDOMIZATION persist.mac_randomization_enabled;VisibleForTestingNetworkDetailsTracker mNetworkDetailsTracker;private HandlerThread mWorkerThread; -134,6 145,25 public class WifiNetworkDetailsFragment2 extends DashboardFragment implementssuper.onCreateOptionsMenu(menu, inflater);} Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);wifiManager (WifiManager) requireContext().getSystemService(Context.WIFI_SERVICE);randomMacAddressPreference findPreference(random_mac_address_switch);if (randomMacAddressPreference ! null) {randomMacAddressPreference.setChecked(isMacRandomizationSupported());randomMacAddressPreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {Overridepublic boolean onPreferenceChange(Preference preference, Object newValue) {boolean isWifiMacRandomEnabled (boolean) newValue;setRandomMacAddress(isWifiMacRandomEnabled);return true;}});}} Overridepublic boolean onOptionsItemSelected(MenuItem menuItem) {switch (menuItem.getItemId()) {-218,6 248,15 public class WifiNetworkDetailsFragment2 extends DashboardFragment implementsreturn mControllers;} private void setRandomMacAddress(boolean isWifiMacRandomEnabled) {SystemProperties.set(PROP_MAC_RANDOMIZATION, Boolean.toString(isWifiMacRandomEnabled));}private boolean isMacRandomizationSupported() {return SystemProperties.getBoolean(PROP_MAC_RANDOMIZATION, false);}在代码中搜索的时候我发现有WifiNetworkDetailsFragment2.java和WifiNetworkDetailsFragment.java两个差不多的文件根据验证我的是WifiNetworkDetailsFragment2.java。 这里我首先添加了setRandomMacAddress和isMacRandomizationSupported方法用来写入和读取prop属性。然后在onCreate方法中获取到我们新建的自动连接Switch按钮与属性相绑定。如果没有改属性则写入属性。最后在开关的事件监听中改变属性值 四、最终现象 默认的效果是WIFI MAC不随机。在点开我们新加的Switch前也是没有prop属性的。在打开开关后新连接的WIFI的MAC地址会随机掉。在关掉开关后所有的WIFI MAC地址会变成一样的。 注意如果你随机到新MAC之后关闭这个开关那么所有的WIFI MAC都会变成你新随机到的这个而不是出厂默认MAC
http://www.zqtcl.cn/news/333399/

相关文章:

  • 网站建设图片大小建设部网站1667号公告
  • 做wps的网站赚钱网站建设中网站图片如何修改
  • 公司招商型网站建设怎么自己做网站挣钱
  • 红酒手机网站建设中视频自媒体注册
  • 免费网站2022年能用的网址青阳网站建设
  • 网站建设的开发方式知乎科技部网站建设合同范本
  • 兰州市建设厅官方网站做酒店的网站
  • 宠物店网站开发文档撰写洛阳市河阳建设工程有限公司网站
  • 毕业设计做网站应该学什么wordpress调用子分类
  • 怎么建网站做淘宝客用国外网站 图片做自媒体
  • 汕头建站模板搭建怎么制作有效网站
  • 学生个人网站作品怎么wordpress用的什么主题
  • 设计logo网站侵权吗知乎一键做单页网站
  • 网站服务器有什么用做视频网站视频存放问题
  • 影评网站建设可以免费发布招聘网站
  • 富阳做兼职的网站正邦设计上海分公司
  • 网站漏洞解决办法投资
  • wordpress网站如何网页设计实训总结3000字大学篇
  • 用ps怎么做网站导航条wordpress 开启缩略图
  • 网上销售型的企业网站为什么要域名备案
  • 唐山网站建设方案优化国内酷炫网站
  • 国外网站备案吗网站做一样没有侵权吧
  • 谷歌怎么建网站ps中怎样做网站轮播图片
  • 汕头有没有做网站廊坊宣传片制作公司
  • 百度快速收录网站有些人做网站不用钱的 对吗
  • 如何规划一个网站网站建设预付费入什么科目
  • 北京做网站的好公司有哪些网站建设杭州缘择低价
  • 建设网站团队张掖响应式建站平台
  • 中国建设之乡是哪里网站优化连云港哪家强?
  • 网站建设报价是多少30号长沙封城最新消息