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

看英语做游戏的网站怎么做图片网站

看英语做游戏的网站,怎么做图片网站,wordpress 协议,山东省工程建设信息官方网站Android13 有线变更 以太网相关的功能在Android12 和13 网络部分变化是不大的#xff0c;Android11 到Android 12 网络部分无论是代码存放目录和代码逻辑都是有较多修改的#xff0c;主要包括以下几个部分 限制了设置有线网参数设置接口方法 新增有线网开启关闭接口方法 新…Android13 有线变更 以太网相关的功能在Android12 和13 网络部分变化是不大的Android11 到Android 12 网络部分无论是代码存放目录和代码逻辑都是有较多修改的主要包括以下几个部分 限制了设置有线网参数设置接口方法 新增有线网开启关闭接口方法 新增了 updateConfiguration 接口方法 有线网设置的静态ip和代理信息重启后无效 EthernetManager相关代码从framework移到packages/modules/Connectivity/ (之前目录frameworks\base\core\java\android\net\EthernetManager.java) 后面开发Android12 或新版本代码你会发现wifi 、蓝牙、热点 之前 framework 的源码都移动到了下面的package目录 基于以上变更。如果app api targetSdkVersion设置成Android12 应用用无法用以前的接口设置有线网信息。 限制了设置有线网参数设置接口方法 //packages\modules\Connectivity\framework-t\src\android\net\EthernetManager.java/*** Get Ethernet configuration.* return the Ethernet Configuration, contained in {link IpConfiguration}.* hide*/SystemApi(client MODULE_LIBRARIES)public NonNull IpConfiguration getConfiguration(NonNull String iface) {try {return mService.getConfiguration(iface);} catch (RemoteException e) {throw e.rethrowFromSystemServer();}}/*** Set Ethernet configuration.* hide*/SystemApi(client MODULE_LIBRARIES)public void setConfiguration(NonNull String iface, NonNull IpConfiguration config) {try {mService.setConfiguration(iface, config);} catch (RemoteException e) {throw e.rethrowFromSystemServer();}}UnsupportedAppUsage(maxTargetSdk Build.VERSION_CODES.R, trackingBug 170729553)public String[] getAvailableInterfaces() {try {return mService.getAvailableInterfaces();} catch (RemoteException e) {throw e.rethrowAsRuntimeException();}} 从上面看主要是api加了限制 maxTargetSdk Build.VERSION_CODES.R //Android11 所以Android 12 或者更新的版本在EthernetManager 是调用不到上面几个接口方法的 新增有线网开启关闭接口方法 //packages\modules\Connectivity\framework-t\src\android\net\EthernetManager.javaRequiresPermission(anyOf {NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK,android.Manifest.permission.NETWORK_STACK,android.Manifest.permission.NETWORK_SETTINGS})SystemApi(client MODULE_LIBRARIES)public void setEthernetEnabled(boolean enabled) {try {mService.setEthernetEnabled(enabled);} catch (RemoteException e) {throw e.rethrowFromSystemServer();}} 这个是新增的接口方法 setEthernetEnabled 之前是要自己实现有线网开关的。需要的权限上面已经说明的基本是要系统签名的应用才能调用。 新增了 updateConfiguration 接口方法 //packages\modules\Connectivity\framework-t\src\android\net\EthernetManager.javaSystemApiRequiresPermission(anyOf {NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK,android.Manifest.permission.NETWORK_STACK,android.Manifest.permission.MANAGE_ETHERNET_NETWORKS})public void updateConfiguration(NonNull String iface,NonNull EthernetNetworkUpdateRequest request,Nullable CallbackExecutor Executor executor,Nullable OutcomeReceiverString, EthernetNetworkManagementException callback) {Objects.requireNonNull(iface, iface must be non-null);Objects.requireNonNull(request, request must be non-null);final NetworkInterfaceOutcomeReceiver proxy makeNetworkInterfaceOutcomeReceiver(executor, callback);try {mService.updateConfiguration(iface, request, proxy);} catch (RemoteException e) {throw e.rethrowFromSystemServer();}} String iface //节点名称eth0 / eth1 EthernetNetworkUpdateRequest request 对象是包含静态ip和代理信息对象和特征属性对象。 后面两个是回调监听未要求非空是可以传null 的。 另外在有线网服务新api 增加了限制 //packages\modules\Connectivity\service-t\src\com\android\server\ethernet\EthernetServiceImpl.javaOverridepublic void updateConfiguration(NonNull final String iface,NonNull final EthernetNetworkUpdateRequest request,Nullable final INetworkInterfaceOutcomeReceiver listener) {Objects.requireNonNull(iface);Objects.requireNonNull(request);throwIfEthernetNotStarted();// TODO: validate that iface is listed in overlay config_ethernet_interfaces// only automotive devices are allowed to set the NetworkCapabilities using this API//only automotive devices 表明只有 车载设备支持设置该方法// 非车载项目必须注释调方法enforceAdminPermission 否则会报错这里是校验是否是车载项目//enforceAdminPermission(iface, request.getNetworkCapabilities() ! null,// updateConfiguration() with non-null capabilities);Log.i(TAG, lwz add updateConfiguration with: iface iface , listener listener);maybeValidateTestCapabilities(iface, request.getNetworkCapabilities());mTracker.updateConfiguration(iface, request.getIpConfiguration(), request.getNetworkCapabilities(), listener);} 所以要在自己项目中调用新的api 必须设置属性让自己的设备识别为车载项目或者把车载判断的逻辑去除即可 有线网设置的静态ip和代理信息重启后无效 //查看有线网配置信息保存的类 packages\modules\Connectivity\service-t\src\com\android\server\ethernet\EthernetConfigStore.javaprivate static final String CONFIG_FILE ipconfig.txt;private static final String FILE_PATH /misc/ethernet/;private static final String LEGACY_IP_CONFIG_FILE_PATH Environment.getDataDirectory() FILE_PATH;//Android13 新增下面路径private static final String APEX_IP_CONFIG_FILE_PATH ApexEnvironment.getApexEnvironment(TETHERING_MODULE_NAME).getDeviceProtectedDataDir() FILE_PATH; // TETHERING_MODULE_NAME --》com.android.tethering/** 可以看到之前的路径是 /data/misc/ethernet/ipconfig.txt 最新的有线网配置文件保存目录 /data/misc/apexdata/com.android.tethering/misc/ethernet/ipconfig.txt 可能存在因为未成功保存本地配置文件所以每次开机重启后无法读取到静态ip和代理等信息。 所以出现 有线网设置的静态ip和代理信息重启后无效 问题。主要原因为开机读取的时候目录未成功创建故保存未成功。 可以参考如下 *///packages\modules\Connectivity/service-t/src/com/android/server/ethernet/EthernetConfigStore.javaVisibleForTestingvoid read(final String newFilePath, final String oldFilePath, final String filename) {try {synchronized (mSync) {// Attempt to read the IP configuration from apex file path first.if (doesConfigFileExist(newFilePath filename)) {loadConfigFileLocked(newFilePath filename);return;}//ik-phoebe add for create dir data/misc/apexdata/com.android.tethering/misc/ethernetfinal File directory new File(newFilePath);if (!directory.exists()) {boolean mkdirs directory.mkdirs();Log.d(TAG, zmm add for mkdirs: newFilePath ,result: mkdirs);}// If the config file doesnt exist in the apex file path, attempt to read it from// the legacy file path, if config file exists, write the legacy IP configuration to// apex config file path, this should just happen on the first boot. New or updated// config entries are only written to the apex config file later.if (!doesConfigFileExist(oldFilePath filename)) return;loadConfigFileLocked(oldFilePath filename);writeLegacyIpConfigToApexPath(newFilePath, oldFilePath, filename);}} catch (Exception e) {e.printStackTrace();Log.e(TAG, zmm add for read exception: e.getMessage());}}Android13 有线网适配思路 主要是从以下两个方面 1使用新api接口设置静态ip和代理信息 2移除源码中限制接口的版本号 目前我采用的是二但是如果项目需要过gms认证则只能使用一因为gms合入mainline,packages\modules\Connectivity生成的jar会被覆盖。 diff --git a/framework-t/api/module-lib-current.txt b/framework-t/api/module-lib-current.txt index 5a8d47b..177f6c5 100644 --- a/framework-t/api/module-lib-current.txtb/framework-t/api/module-lib-current.txt-44,9 44,11 package android.net {public class EthernetManager {method RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void addEthernetStateListener(NonNull java.util.concurrent.Executor, NonNull java.util.function.IntConsumer);method RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void addInterfaceStateListener(NonNull java.util.concurrent.Executor, NonNull android.net.EthernetManager.InterfaceStateListener);method NonNull public android.net.IpConfiguration getConfiguration(NonNull String);method NonNull RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public java.util.Listjava.lang.String getInterfaceList();method RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void removeEthernetStateListener(NonNull java.util.function.IntConsumer);method public void removeInterfaceStateListener(NonNull android.net.EthernetManager.InterfaceStateListener);method public void setConfiguration(NonNull String, NonNull android.net.IpConfiguration);method RequiresPermission(anyOf{android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void setEthernetEnabled(boolean);method public void setIncludeTestInterfaces(boolean);field public static final int ETHERNET_STATE_DISABLED 0; // 0x0 diff --git a/framework-t/src/android/net/EthernetManager.java b/framework-t/src/android/net/EthernetManager.java index 886d194..9c675fb 100644 --- a/framework-t/src/android/net/EthernetManager.javab/framework-t/src/android/net/EthernetManager.java-191,8 191,8 public class EthernetManager {* return the Ethernet Configuration, contained in {link IpConfiguration}.* hide*/ - UnsupportedAppUsage(maxTargetSdk Build.VERSION_CODES.R, trackingBug 170729553) - public IpConfiguration getConfiguration(String iface) {SystemApi(client MODULE_LIBRARIES)public NonNull IpConfiguration getConfiguration(NonNull String iface) {try {return mService.getConfiguration(iface);} catch (RemoteException e) {-204,7 204,7 public class EthernetManager {* Set Ethernet configuration.* hide*/ - UnsupportedAppUsage(maxTargetSdk Build.VERSION_CODES.R, trackingBug 170729553)SystemApi(client MODULE_LIBRARIES)public void setConfiguration(NonNull String iface, NonNull IpConfiguration config) {try {mService.setConfiguration(iface, config); -- 2.17.1当然最好的还是使用系统提供的更新ip方法 IpConfiguration.Builder build new IpConfiguration.Builder();EthernetNetworkUpdateRequest.Builder requestBuilder new EthernetNetworkUpdateRequest.Builder();build.setHttpProxy(proxyinfo); //如果是静态ip需要创建对应的静态staticIpConfigurationbuild.setStaticIpConfiguration(staticIpConfiguration);requestBuilder.setIpConfiguration(build.build());mEthManager.updateConfiguration(eth0, requestBuilder.build(), null, null);以上为Android13 以太网相关的更新 单曲循环《大悲咒》
http://www.w-s-a.com/news/995732/

相关文章:

  • jsp网站开发教学视频ui设计风格
  • 注册网站建设开发怎么自己做导航网站
  • 设计做网站品牌咖啡主题网页界面设计
  • 个人网站制作总体设计宿迁房价2023年最新房价
  • 服装网站建设进度及实施过程马鞍山网站设计制作
  • 郑州网站优化顾问济宁网站制作
  • 网站开发简单吗网站引导页分为三个板块设计风格
  • 湖南做网站 在线磐石网络百度一下百度搜索
  • 现在建网站多少钱推广营销费
  • 联想企业网站建设的思路西安网站建设阳建
  • 网站内容 内链网站建设电话销售工作总结
  • 系统网站开发知名的摄影网站有哪些
  • 网站拍照的幕布扬中网站建设价位
  • 网站ie兼容性差西安小程序开发的公司
  • 上海网站建设培训app网站开发成本
  • 个人网站icp外贸网站开发 河南
  • 遵义建设网站无锡市规划建设局网站
  • 海外留学网站建设方案门户网站的发布特点
  • 网站建设不赚钱net112企业建站系统
  • 网站建设团队管理模板贵州省住房和城乡建设部网站
  • 曲沃网站建设网上学编程的有哪些比较好的网站
  • 厦门网站建设慕枫学做网站需要多久
  • 爱奇艺做任务领vip网站设计广告图片
  • 中科汇联网站建设手册上海公司名称注册查询网
  • 网站建设电子商务课总结和体会关于做网站书籍
  • 仪征网站建设公司哪家好简单网页制作素材图片
  • 甘肃第九建设集团公司网站潍坊个人做网站
  • 如何做后台网站的教程网站建设 关于我们
  • 极速网站建设哪家好连云港百度推广网站建设
  • 医院网站建设的目标wordpress中英文网站模板