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

精利手表网站seo案例

精利手表网站,seo案例,怎样突破网站设计瓶颈,凡科网靠谱吗Android Settings 有线网设置界面优化 文章目录 Android Settings 有线网设置界面优化一、前言二、简单修改1、修改的EthernetSettings代码:2、有线网ip获取代码:3、AndroidManifest.xml定义有线网的Activity4、修改后界面: 三、其他1、有线网…

Android Settings 有线网设置界面优化

文章目录

  • Android Settings 有线网设置界面优化
    • 一、前言
    • 二、简单修改
      • 1、修改的EthernetSettings代码:
      • 2、有线网ip获取代码:
      • 3、AndroidManifest.xml定义有线网的Activity
      • 4、修改后界面:
    • 三、其他
      • 1、有线网设置界面优化小结
      • 2、Android 拉起开发者设置界面命令和代码实现
      • 3、Android13 有线网开关研究
      • 4、Android14 Settings应用添加有线网开关条目实现
      • 5、Android 获取ip地址多种方式介绍

一、前言

快清明放假了,说点简单的,有线网设置,估计只对部分系统开发的人有点用。

Android 原生设置应用好像大部分方案都是没有显示有线网设置界面的;

从接触的方案看只有rk方案的原生设置应用显示了有线网设置界面,和热点设置界面是同级目录显示的。

如下图所示:
在这里插入图片描述

但是这个有线网设置界面又是存在点问题的:

有线网DHCP自动获取模式下,是无法获取到ip的;
只有在设置了静态ip的模式下,才显示ip和其他信息。

如下图,所示:
在这里插入图片描述

难道是RK从谷歌的一个调试分支下载的Settings源码?

但是不应该啊,谷歌不会犯这么低级的错误吧,并且Ethernet的相关字符串都没有国际化,只有英文的;

并且查看里面获取有线网ip的地方居然使用的是反射,系统应用按道理是可以调用framework的隐藏方法的!

所以我大胆的猜测:这个有线网设置界面是RK自己添加的,并且是很久的代码了,

一直挪用下来,未重新适配,看了她Android15提供的代码也是一样的问题。

这个也是一个小bug,本文只简单修改一下。

二、简单修改

1、修改的EthernetSettings代码:

Settings\src\com\android\settings\ethernet\EthernetSettings.java

public class EthernetSettings extends SettingsPreferenceFragment ...{private static final String TAG = "EthernetSettings";private void refreshUI() {Iterator<String> iterator = mEthInfoList.keySet().iterator();while (iterator.hasNext()) {String key = iterator.next();String prefix = key + PREFIX_SPLIT;EthInfo info = mEthInfoList.get(key);log("info = " + info);if (info != null) {
-                setStringSummary(prefix + KEY_ETH_IP_ADDRESS, info.getIpAddress());
+			     IpConfiguration ipConfiguration = Reflect_getConfiguration("eth0");
+			     IpAssignment mode = ipConfiguration.getIpAssignment();
+				 if (mode == IpAssignment.DHCP || mode == IpAssignment.UNASSIGNED) {
+					 log("tyty  DHCP ========= ");
+					 setStringSummary(prefix + KEY_ETH_IP_ADDRESS, getEthernetIpAddress());
+				 }else{
+					setStringSummary(prefix + KEY_ETH_IP_ADDRESS, info.getIpAddress());}

上面只是把显示ip地址那行替换成了getEthernetIpAddress()方法获取的有线网ip地址就行;

2、有线网ip获取代码:

import android.net.ConnectivityManager;
import android.net.Network;
import android.net.LinkProperties;private ConnectivityManager mConnectivityManager;mConnectivityManager = (ConnectivityManager) getActivity().getSystemService(getActivity().CONNECTIVITY_SERVICE);public String getEthernetIpAddress() {Log.d(TAG,"");final Network network = getFirstEthernet();if (network == null) {return "";}final LinkProperties linkProperties = mConnectivityManager.getLinkProperties(network);if (linkProperties != null) {for (LinkAddress linkAddress : linkProperties.getLinkAddresses()) {InetAddress inetAddress = linkAddress.getAddress();if (inetAddress instanceof Inet4Address) {return inetAddress.getHostAddress();}}}return "";}public Network getFirstEthernet() {final Network[] networks = mConnectivityManager.getAllNetworks();for (final Network network : networks) {NetworkInfo networkInfo = mConnectivityManager.getNetworkInfo(network);if (networkInfo != null && networkInfo.getType() == ConnectivityManager.TYPE_ETHERNET) {return network;}}return null;}

3、AndroidManifest.xml定义有线网的Activity

        <activityandroid:name="Settings$EthernetSettingsActivity"android:label="@string/ethernet_settings_title"android:icon="@drawable/ic_settings_wireless"android:taskAffinity=""android:exported="true"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.DEFAULT" /><category android:name="android.intent.category.VOICE_LAUNCH" /><category android:name="com.android.settings.SHORTCUT" /></intent-filter><meta-data android:name="com.android.settings.FRAGMENT_CLASS"android:value="com.android.settings.ethernet.EthernetSettings" /></activity><!-- Keep compatibility with old shortcuts. --><activity-aliasandroid:name=".EthernetSettings"android:label="@string/ethernet_settings"android:clearTaskOnLaunch="true"android:targetActivity="Settings$EthernetSettingsActivity"android:exported="true"><meta-data android:name="com.android.settings.FRAGMENT_CLASS"android:value="com.android.settings.EthernetSettings" /></activity-alias>

从上面代码可以看到可以使用adb拉起有线网设置界面命令:

am start -n com.android.settings/.Settings\$EthernetSettingsActivity
am start -n com.android.settings/.EthernetSettings //有点bug,不一定能打开

如果无法使用上面命令打开有线网设置,那么设置应用应该就是没有有线网设置界面的。

比如我开发的:MTK和AML方案的原生设置代码就没有有线网设置界面。

4、修改后界面:

没有大改,只显示了ip地址,其实动态获取有线网的情况,网关,dns那些都应该隐藏的。
在这里插入图片描述

后续有时时间再介绍一下有线网修改配置信息最新的api(Android13增加)吧。

三、其他

1、有线网设置界面优化小结

目前是rk方案存在的问题,其实没啥需求可以隐藏这个条目的;

如果要显示ip就按照上面的修改一下吧。

2、Android 拉起开发者设置界面命令和代码实现

有些情况,原生设置是隐藏的或者不想打开原生设置,如何直接拉起开发者选项呢?

是否有命令或者代码可以实现呢?

下面简单介绍一下:

https://blog.csdn.net/wenzhi20102321/article/details/146985730

3、Android13 有线网开关研究

Android13 的api 提供了有线网开关 EthernetManager.setEthernetEnabled(boolean),
Android9 如果要设置有线网开关,需要自己实现。

https://blog.csdn.net/wenzhi20102321/article/details/131871354

4、Android14 Settings应用添加有线网开关条目实现

Android 原生Settings应用没有有线网开关条目;
Tv平台一般是有有线网连接的,如果没有有线网控制条目是不太方便的;

如果要在原生Settings添加有线网开关和显示有线网ip,要如何实现呢?

本文简单实现一下,有需要的可以参考修改:

https://blog.csdn.net/wenzhi20102321/article/details/146536467

5、Android 获取ip地址多种方式介绍

adb shell 的 ifconfig可以获取当前设备网络节点信息;
这些信息使用Android代码也是可以获取的;

Android 获取网络ip有多种方式,有时候某种方式获取失败的情况下;
那么就可以换一种获取方式,所有多学习一下获取网络ip相关信息是有用的。

https://blog.csdn.net/wenzhi20102321/article/details/141673195

http://www.dtcms.com/wzjs/120944.html

相关文章:

  • 2018建设工程管理招团支部网站手机优化游戏性能的软件
  • 广州铁路投资建设集团网站爱网
  • 武汉网站建设服务十个有创意的线上活动
  • 免费网站推广咱们做天天seo站长工具
  • 服装网站开发的需求分析百度一下就会知道了
  • iis上做的网站外网怎么访问中国互联网域名注册服务机构
  • 个人注册域名网站怎么做免费涨粉工具
  • 沈阳设计培训网站建设国家免费职业技能培训官网
  • 局网站建设方案word买链接
  • qq发网站链接怎么做上海seo推广外包
  • 网站开发前台怎么样发布外链的步骤
  • 在哪个网站上做兼职比较好商丘网站推广公司
  • 郑州网站搭建的公司优化推荐
  • 遵义市住房城乡建设局网站自己怎么做网页推广
  • 开网站 怎么做网上支付百度关键词优化大师
  • 网站哪些页面会做静态化东莞网站seo公司
  • 潍坊网站建设费用百度浏览器网址链接
  • 跨境独立站好做吗青岛官网seo
  • wordpress 网络公司seo发包软件
  • 哪个网站做x展架比较好 知乎近期新闻热点
  • 广告免费设计与制作seo中文意思
  • 网站建设书籍2013年的软文推广系统
  • 建网站服务器怎么选择网络优化的意义
  • 怎么进行网站建设免费的app推广平台
  • 做微博推广的网站吗吸引人的软文
  • 可信网站验证 费用合肥网站优化搜索
  • 网站关键词添加后的后果百度免费优化
  • 新网站建设公司磁力链搜索引擎入口
  • 网站设置301跳转如何网络推广自己的产品
  • 丹徒网站建设灰色词首页排名接单