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

网站建设大题网站底部图片代码

网站建设大题,网站底部图片代码,软件外包学院大学承认吗,哪些网站可以做平面设计挣钱文章目录 开发平台基本信息问题描述实现流程 其他问题 开发平台基本信息 芯片: MT8766 版本: Android 12 kernel: msm-4.19 问题描述 客户需要我们设备支持ESIM功能#xff0c;5月份的时候在高通6125上面预研过ESIM功能#xff0c;当时ESIM供应商是Links field#xff0c… 文章目录 开发平台基本信息问题描述实现流程 其他问题 开发平台基本信息 芯片: MT8766 版本: Android 12 kernel: msm-4.19 问题描述 客户需要我们设备支持ESIM功能5月份的时候在高通6125上面预研过ESIM功能当时ESIM供应商是Links field集成流程只是内置了ESIM厂商的apk并且开启了feature以及默认给了一些权限具体ESIM功能的实现都是在厂商的apk中所以就没去深入研究ESIM功能。但是由于Links field报价过高所以这次又找了两家ESIM厂商分别是鹏越与紫光鹏越只把他们的ESIM芯片寄给了我们然后让我们去找GMS实验室要LPA的相关资料按照谷歌的标准流程操作即可实现ESIM功能而紫光则提供了一个他们的apk并且要求给权限与feature与之前的Links field类似。GMS实验室提供了一份资料里面包含了3份文档以及一个apk。 三份文档的内容大致为 1、如何集成LPA2、如何实现overlay app3、如何在开机向导和系统设置增加ESIM选项 ESIM功能可以简单理解为ESIM厂家提供芯片芯片分为贴片式跟拔插式贴片式是贴到主板上类似于各种单片机而拔插式则是一张实体ESIM卡长得跟普通的SIM卡一样需要插入到卡槽中才能使用然后就到ESIM运营商购买ESIM卡号安卓系统就可以通过谷歌LPA服务将购买的ESIM卡号下载到ESIM芯片中下载完成启用ESIM卡就能正常使用了一张ESIM芯片可以下载多个ESIM卡但是设备最多只能启用一张ESIM。 实现流程 在验证ESIM功能之前可以先到设置-关于手机-sim卡详细信息中查看是否有EIDEID是ESIM芯片的唯一标识代表着ESIM的正常使用如果设备无法读取到EID得排查硬件通路以及modem。 ESIM功能都实现流程可以分为以下几个步骤 启用euicc的feature内置谷歌LPA服务到system/priv-app/给LPA服务增加priv-app权限或者关闭权限校验增加overlay app在系统设置中调起LPA服务下载ESIM卡号并启用ESIM framework中已经有euicc的feature只需要拷贝到设备即可 --- a/device/mediateksample/custom_go/full_custom_go.mkb/device/mediateksample/custom_go/full_custom_go.mk-7,3 7,11 MTK_TARGET_PROJECT_FOLDER : $(LOCAL_PATH)-include $(MTK_TARGET_PROJECT_FOLDER)/vnd_$(MTK_TARGET_PROJECT).mkPRODUCT_NAME : full_custom_goPRODUCT_COPY_FILES \frameworks/native/data/etc/android.hardware.telephony.euicc.xml:system/etc/permissions/android.hardware.telephony.euicc.xml \内置谷歌LPA服务到system/priv-app/ --- a/device/mediateksample/p8_go/full_custom_go.mkb/device/mediateksample/p8_go/full_custom_go.mk-7,3 7,11 MTK_TARGET_PROJECT_FOLDER : $(LOCAL_PATH)-include $(MTK_TARGET_PROJECT_FOLDER)/vnd_$(MTK_TARGET_PROJECT).mkPRODUCT_NAME : full_custom_goPRODUCT_PACKAGES \EuiccGoogle \ LOCAL_PATH : $(call my-dir)############################################################################### include $(CLEAR_VARS) LOCAL_MODULE : EuiccGoogle LOCAL_SRC_FILES : EuiccGoogle.apk LOCAL_MODULE_CLASS : APPS LOCAL_CERTIFICATE : PRESIGNED LOCAL_PRIVILEGED_MODULE : true LOCAL_MODULE_TAGS : optional include $(BUILD_PREBUILT) 给LPA服务增加priv-app权限或者关闭权限校验这里选择的是关闭权限校验 --- a/frameworks/base/services/core/java/com/android/server/pm/permission/PermissionManagerService.javab/frameworks/base/services/core/java/com/android/server/pm/permission/PermissionManagerService.java-3469,6 3469,8 public class PermissionManagerService extends IPermissionManager.Stub {NonNull PackageSetting packageSetting, NonNull Permission permission) {if (RoSystemProperties.CONTROL_PRIVAPP_PERMISSIONS_DISABLE) {return true;}else if (!RoSystemProperties.CONTROL_PRIVAPP_PERMISSIONS_DISABLE) {return true;}final String packageName pkg.getPackageName();if (Objects.equals(packageName, PLATFORM_PACKAGE_NAME)) {增加overlay app这个app是自己写的需要实现几个功能 在AndroidManifest.xml中注册广播 receiverandroid:name.PartnerReceiverandroid:permissionandroid.permission.WRITE_EMBEDDED_SUBSCRIPTIONSandroid:directBootAwaretrueandroid:exportedtrueintent-filteraction android:namecom.google.android.euicc.action.PARTNER_CUSTOMIZATION //intent-filter/receiver在java文件中实现广播并且广播方法中必须为空 package com.tp.euicc.overlay;import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent;public class PartnerReceiver extends BroadcastReceiver {public PartnerReceiver() {}Overridepublic void onReceive(Context context, Intent intent) {} }在res/values/strings.xml中增加两个字段 string namesim_slot_mappings_json translatablefalse{sim-slot-mappings:[{devices:[custom_go],esim-slot-ids:[0],psim-slot-ids:[1]}]}/stringinteger namedownload_type3/integer谷歌LPA就是通过广播找到overlay app然后从app的资源文件中获取sim_slot_mappings_json的值拿到配置数据其中devices的值要修改为Build.DEVICE如果是其他项目移植要记得修改。后面的esim是虚拟sim卡psim是物理sim卡ids的值分别是对应的卡槽比如P8KR在SIM 1卡槽接了ESIM这里就配成0不过实际测试不过怎么配置ids都能使用ESIM。 在系统设置中调起LPA服务下载ESIM卡号并启用ESIM 按照上面的方式集成之后在系统设置-网络-移动网络选项如果没有下载过ESIM点击就会调起谷歌LPA服务或者可以通过adb广播调起LPA配置界面然后根据提示扫描二维码下载ESIM卡号即可。 adb shell am start -n com.google.android.euicc/com.android.euicc.ui.settings.CurrentProfileListActivity其他问题 之前在2290上面调试出现下载完ESIM卡号之后无法启用ESIM功能需要在ESIM界面开、关一次飞行模式ESIM启用按钮才可以点击。解决方案如下 --- a/QSSI.12/packages/apps/Settings/src/com/android/settings/network/telephony/MobileNetworkSettings.javab/QSSI.12/packages/apps/Settings/src/com/android/settings/network/telephony/MobileNetworkSettings.java-58,6 58,7 import com.android.settingslib.search.SearchIndexable;import com.android.settingslib.utils.ThreadUtils;import org.codeaurora.internal.IExtTelephony;import java.util.Arrays;import java.util.List;-106,7 107,8 public class MobileNetworkSettings extends AbstractMobileNetworkSettings {private void setScreenState() {int simState mTelephonyManager.getSimState(); - boolean screenState simState ! TelephonyManager.SIM_STATE_ABSENT;// boolean screenState simState ! TelephonyManager.SIM_STATE_ABSENT;boolean screenState true;if (screenState) { 在MTK8766中同样出现不可点击的问题而且还把白卡显示出来造成了混淆解决方案如下 --- a/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/network/MobileNetworkListController.javab/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/network/MobileNetworkListController.java-26,7 26,9 import android.content.Intent;import android.provider.Settings;import android.telephony.SubscriptionInfo;import android.telephony.SubscriptionManager; import android.telephony.euicc.EuiccManager;import android.util.ArrayMap; import android.util.Log;import androidx.lifecycle.Lifecycle;import androidx.lifecycle.LifecycleObserver;-122,7 124,7 public class MobileNetworkListController extends AbstractPreferenceController im} else {pref.setSummary(R.string.mobile_network_inactive_esim);/// M: Add for updating enabled state. - pref.setEnabled(false);//pref.setEnabled(false);}} else {if (mSubscriptionManager.isActiveSubscriptionId(subId)) {-130,7 132,7 public class MobileNetworkListController extends AbstractPreferenceController im} else if (SubscriptionUtil.showToggleForPhysicalSim(mSubscriptionManager)) {pref.setSummary(mContext.getString(R.string.mobile_network_inactive_sim));/// M: Add for updating enabled state. - pref.setEnabled(false);//pref.setEnabled(false);} else {pref.setSummary(mContext.getString(R.string.mobile_network_tap_to_activate,displayName));-138,7 140,14 public class MobileNetworkListController extends AbstractPreferenceController im}pref.setOnPreferenceClickListener(clickedPref - { - if (!info.isEmbedded() !mSubscriptionManager.isActiveSubscriptionId(subId)Log.d(TAG, clickedPref isEmbedded: (info.isEmbedded()));Log.d(TAG, clickedPref isActiveSubscriptionId: (mSubscriptionManager.isActiveSubscriptionId(subId)));Log.d(TAG, clickedPref showToggleForPhysicalSim: (SubscriptionUtil.showToggleForPhysicalSim(mSubscriptionManager)));/// M: Add for updating enabled state.if(info.isEmbedded()){Intent intent new Intent(EuiccManager.ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS);mContext.startActivity(intent);}else if (!info.isEmbedded() !mSubscriptionManager.isActiveSubscriptionId(subId) !SubscriptionUtil.showToggleForPhysicalSim(mSubscriptionManager)) {SubscriptionUtil.startToggleSubscriptionDialogActivity(mContext, subId, true);} else { --- a/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/network/MobileNetworkSummaryController.javab/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/network/MobileNetworkSummaryController.java-258,8 258,17 public class MobileNetworkSummaryController extends AbstractPreferenceControllermPreference.setEnabled(false);}/// } - } else { - mPreference.setFragment(MobileNetworkListFragment.class.getCanonicalName());} else { /// M: Add for updating enabled state.mPreference.setOnPreferenceClickListener((Preference pref) - {logPreferenceClick(pref);Intent intent new Intent(EuiccManager.ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS);mContext.startActivity(intent);return true;});//mPreference.setFragment(MobileNetworkListFragment.class.getCanonicalName());}} --- a/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/network/telephony/MobileNetworkSettings.javab/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/network/telephony/MobileNetworkSettings.java-27,6 27,7 import android.provider.Settings;import android.provider.SearchIndexableResource;import android.telephony.SubscriptionManager;import android.telephony.TelephonyManager; import android.telephony.euicc.EuiccManager;import android.text.TextUtils;import android.util.Log;import android.view.Menu;-100,8 101,12 public class MobileNetworkSettings extends AbstractMobileNetworkSettings {return true;}final String key preference.getKey();Intent intent new Intent(EuiccManager.ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS);startActivity(intent);return true;- if (TextUtils.equals(key, BUTTON_CDMA_SYSTEM_SELECT_KEY)/*if (TextUtils.equals(key, BUTTON_CDMA_SYSTEM_SELECT_KEY)|| TextUtils.equals(key, BUTTON_CDMA_SUBSCRIPTION_KEY)) {if (mTelephonyManager.getEmergencyCallbackMode()) {startActivityForResult(-112,7 117,7 public class MobileNetworkSettings extends AbstractMobileNetworkSettings {return true;}- return false;return false;*/}Override diff --git a/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/security/SimLockPreferenceController.java b/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/security/SimLockPreferenceController.java index 3b85888..98cbc9b 100644 --- a/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/security/SimLockPreferenceController.javab/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/security/SimLockPreferenceController.java-94,10 94,10 public class SimLockPreferenceController extends BasePreferenceController {for (SubscriptionInfo subInfo : subInfoList) {final int simState mTelephonyManager.getSimState(subInfo.getSimSlotIndex()); - if ((simState ! TelephonyManager.SIM_STATE_ABSENT) - (simState ! TelephonyManager.SIM_STATE_UNKNOWN)) {// if ((simState ! TelephonyManager.SIM_STATE_ABSENT)// (simState ! TelephonyManager.SIM_STATE_UNKNOWN)) {return true; - }// }}return false;} MTK8766下载完ESIM卡号之后有信号能ping通百度但是浏览器无法上网最终定位是他们默认APN配置的问题 --- a/device/mediatek/config/apns-conf.xmlb/device/mediatek/config/apns-conf.xml-25782,12 25782,12 mcc454mnc00apnmobile - proxy192.168.59.51 - port8080 - mmschttp://192.168.58.171:8002 - mmsproxy192.168.59.51 - mmsport8080 - typedefault,supl,mmsproxyportmmscmmsproxymmsporttypedefault,ia,suplprotocolIPV4V6roaming_protocolIPV4V6/
http://www.zqtcl.cn/news/589667/

相关文章:

  • 百度网站联盟公司做网站计入那个科目
  • 越秀电子商务网站建设国外的ui设计思想网站
  • 网站关键词优化公司网站建设完成确认书
  • 企业微信网站怎么建设山东有哪些网络公司
  • 做任务领佣金的网站源码页面设计参评
  • 淘宝联盟个人网站怎么做企业年度报告公示系统
  • 长沙企业网页设计哪家专业网站优化seo
  • 网站设计 西安漂亮企业网站源码
  • 云南省科技网站网页设计师有前途吗
  • 漳州网站开发找出博大科技慈溪市建设局网站表格下载
  • 网站到期怎么续费公司网站asp源码
  • 多个域名 一个网站域名解析官网
  • 中国建设银行企业网站旅游网页代码模板
  • 湛江免费企业建站wordpress archives
  • 建个企业网站多少钱图书管理系统网站开发教程
  • 淘宝客网站建设详细教程wordpress转dz
  • 银川网站推广i深建官方网站
  • 有什么较好的网站开发框架娱乐网站模板
  • 宿迁网站建设托管wordpress 萝莉
  • 定制网站开发冬天里的白玫瑰制作复杂的企业网站首页
  • 网站开发及设计演讲海报免费做网站app下载
  • 做动态图片的网站吗自考网站建设与实践
  • 建外贸网站需要多少钱胖咯科技 网站建设
  • wordpress注明网站做微网站的第三方登录
  • 学网站建设维护网站公司建设公司
  • 做小型网站的公司wordpress 主题上传
  • 网站之家查询重庆市建设项目环境申报表网站
  • 网站建设基础及流程网站运营一个月多少钱
  • 南沙免费网站建设wordpress邮箱注册
  • 网站关键字优化软件网络营销推广方式包括?