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

购物网站 设计网站实名认证流程

购物网站 设计,网站实名认证流程,做网站 套模板 后端,临汾花果街网站建设问题背景#xff1a; 因为RK3576 Android14用户需要手动控制状态栏和导航栏显示隐藏控制#xff0c;包括对锁屏后下拉状态栏的屏蔽#xff0c;在设置功能里增加此功能的控制#xff0c;故参考一些博客完成此功能#xff0c;以下是具体代码路径的修改内容。 解决方案…  问题背景 因为RK3576 Android14用户需要手动控制状态栏和导航栏显示隐藏控制包括对锁屏后下拉状态栏的屏蔽在设置功能里增加此功能的控制故参考一些博客完成此功能以下是具体代码路径的修改内容。 解决方案 1、 修改系统默认配置 代码位置device/rockchip/rk3576/device.mk PRODUCT_PROPERTY_OVERRIDES \persist.sys.statusbar.enabletrue \persist.sys.navigationbar.enabletrue 2、修改SystemUI android/frameworks/base/packages/SystemUI/AndroidManifest.xml protected-broadcast android:namecom.android.systemui.action.ACTION_LAUNCH_MEDIA_OUTPUT_BROADCAST_DIALOG / !-- For statusbar show or not --protected-broadcast android:namecom.systemui.statusbar.show /protected-broadcast android:namecom.systemui.statusbar.hide /!-- For NavigationBar show or not --protected-broadcast android:namecom.systemui.navigationbar.show /protected-broadcast android:namecom.systemui.navigationbar.hide /applicationandroid:name.SystemUIApplicationandroid:persistenttrueframeworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java import android.content.res.Resources;public static final int FADE_KEYGUARD_DURATION 300;public static final int FADE_KEYGUARD_DURATION_PULSING 96; private static final String ACTION_HIDE_STATUS_BAR com.systemui.statusbar.hide;private static final String ACTION_SHOW_STATUS_BAR com.systemui.statusbar.show;private static final String ACTION_HIDE_NAVIGATION_BAR com.systemui.navigationbar.hide;private static final String ACTION_SHOW_NAVIGATION_BAR com.systemui.navigationbar.show; public static final String SYS_PROPERTY_STATUS_BAR persist.sys.statusbar.enable;public static final String SYS_PROPERTY_NAVIGATION_BAR persist.sys.navigationbar.enable;Overridepublic void start() {mScreenLifecycle.addObserver(mScreenObserver);..........................mConfigurationController.addCallback(mConfigurationListener);mBatteryController.observe(mLifecycle, mBatteryStateChangeCallback);mLifecycle.setCurrentState(RESUMED); //根据系统设置参数控制状态栏显示隐藏boolean statusBarDisplaySystemProperties.getBoolean(SYS_PROPERTY_STATUS_BAR, false);Log.d(TAG, ----------default---------statusBarDisplay:statusBarDisplay);if (!statusBarDisplay) {mStatusBarWindowController.setBarVisibility(View.GONE);} }mAccessibilityFloatingMenuController.init();...........................// protected void makeStatusBarView(Nullable RegisterStatusBarResult result) {.......................mStatusBarInitializer.initializeStatusBar(mCentralSurfacesComponent::createCollapsedStatusBarFragment);mStatusBarTouchableRegionManager.setup(this, getNotificationShadeWindowView()); //createNavigationBar(result);//根据系统设置参数控制导航栏显示隐藏boolean navigationBarDisplaySystemProperties.getBoolean(SYS_PROPERTY_NAVIGATION_BAR, false);Log.d(TAG, ----------default---------navigationBarDisplay:navigationBarDisplay);if (navigationBarDisplay) {createNavigationBar(result);}//VisibleForTestingprotected void registerBroadcastReceiver() {IntentFilter filter new IntentFilter();..................filter.addAction(ACTION_HIDE_NAVIGATION_BAR);filter.addAction(ACTION_SHOW_NAVIGATION_BAR);filter.addAction(ACTION_HIDE_STATUS_BAR);filter.addAction(ACTION_SHOW_STATUS_BAR);filter.addAction(DevicePolicyManager.ACTION_SHOW_DEVICE_MONITORING_DIALOG);context.registerReceiverAsUser(mBroadcastReceiver, UserHandle.ALL, filter, null, null);//private final BroadcastReceiver mBroadcastReceiver new BroadcastReceiver() {Overridepublic void onReceive(Context context, Intent intent) {..............}else if (DevicePolicyManager.ACTION_SHOW_DEVICE_MONITORING_DIALOG.equals(action)) {mQSPanel.showDeviceMonitoringDialog();}//状态栏和导航栏显示隐藏控制else if (ACTION_HIDE_NAVIGATION_BAR.equals(action)) {Log.d(TAG, ---ACTION_HIDE_NAVIGATION_BAR---);SystemProperties.set(SYS_PROPERTY_NAVIGATION_BAR, false);mNavigationBarController.onDisplayRemoved(mDisplayId);} else if (ACTION_SHOW_NAVIGATION_BAR.equals(action)) {Log.d(TAG, ---ACTION_SHOW_NAVIGATION_BAR---);SystemProperties.set(SYS_PROPERTY_NAVIGATION_BAR, true);mNavigationBarController.onDisplayReady(mDisplayId);} else if (ACTION_HIDE_STATUS_BAR.equals(action)) {Log.d(TAG, ---ACTION_HIDE_STATUS_BAR---);SystemProperties.set(SYS_PROPERTY_STATUS_BAR, false);mStatusBarWindowController.setBarVisibility(View.GONE);} else if (ACTION_SHOW_STATUS_BAR.equals(action)) {Log.d(TAG, ---ACTION_SHOW_STATUS_BAR---);SystemProperties.set(SYS_PROPERTY_STATUS_BAR, true);mStatusBarWindowController.setBarVisibility(View.VISIBLE);}}};frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowController.java /*** Sets the visibility of the status bar window.* 设置状态栏的可见性*/public void setBarVisibility(int visibility) {mStatusBarWindowView.setVisibility(visibility);} frameworks/base/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java   修改三个方法此类主要是锁屏后状态栏处理 import android.os.SystemProperties; import com.android.systemui.statusbar.phone.CentralSurfacesImpl;//private void setExpandedHeightInternal(float h) {..................................if (mExpandedHeight 1f mExpandedHeight ! 0f mClosing) {mExpandedHeight 0f;if (mHeightAnimator ! null) {mHeightAnimator.end();}}mExpandedFraction Math.min(1f,maxPanelHeight 0 ? 0 : mExpandedHeight / maxPanelHeight);int barState getBarState();//根据系统设置参数控制锁平后面板是否显示 禁止对状态栏布局设置boolean statusBarDisplaySystemProperties.getBoolean(CentralSurfacesImpl.SYS_PROPERTY_STATUS_BAR, false);//非锁屏的状态栏状态栏下拉面板隐藏处理if (!statusBarDisplay barState!KEYGUARD) {mExpandedFraction0;}mQsController.setShadeExpansion(mExpandedHeight, mExpandedFraction);mExpansionDragDownAmountPx h;mAmbientState.setExpansionFraction(mExpandedFraction);//public final class TouchHandler implements View.OnTouchListener, Gefingerpoken {private long mLastTouchDownTime -1L;/** see ViewGroup#onInterceptTouchEvent(MotionEvent) */Overridepublic boolean onInterceptTouchEvent(MotionEvent event) {..............................if (!mQsController.shouldQuickSettingsIntercept(mDownX, mDownY, 0) mPulseExpansionHandler.onInterceptTouchEvent(event)) {mShadeLog.v(NotificationPanelViewController MotionEvent intercepted: PulseExpansionHandler);return true;}//根据系统设置参数控制锁平后面板是否显示 拦截触摸事件分发boolean statusBarDisplaySystemProperties.getBoolean(CentralSurfacesImpl.SYS_PROPERTY_STATUS_BAR, false);if (!statusBarDisplay !isFullyCollapsed() mQsController.onIntercept(event)) {debugLog(onQsIntercept true);mShadeLog.v(NotificationPanelViewController MotionEvent intercepted: QsIntercept); //Overridepublic boolean onTouchEvent(MotionEvent event) {....................................if (mListenForHeadsUp !mHeadsUpTouchHelper.isTrackingHeadsUp() !mNotificationStackScrollLayoutController.isLongPressInProgress() mHeadsUpTouchHelper.onInterceptTouchEvent(event)) {mMetricsLogger.count(COUNTER_PANEL_OPEN_PEEK, 1);}boolean handled mHeadsUpTouchHelper.onTouchEvent(event); //根据系统设置参数控制状态栏下拉面板显示隐藏屏蔽状态了下滑事件boolean statusBarDisplaySystemProperties.getBoolean(CentralSurfacesImpl.SYS_PROPERTY_STATUS_BAR, false);if (statusBarDisplay !mHeadsUpTouchHelper.isTrackingHeadsUp() mQsController.handleTouch(event, isFullyCollapsed(), isShadeOrQsHeightAnimationRunning())) {if (event.getActionMasked() ! MotionEvent.ACTION_MOVE) {mShadeLog.logMotionEvent(event, onTouch: handleQsTouch handled event);....................................... 3、修改Settings  APP android/packages/apps/Settings/res/values-zh-rCN/strings.xml !--状态栏和导航栏开关设置 --string namectrl_statusbar状态栏/stringstring namectrl_navigationbar导航栏/string/resourcesandroid/packages/apps/Settings/res/values/strings.xml !--状态栏和导航栏开关设置 --string namectrl_statusbarStatusBar/stringstring namectrl_navigationbarNavigationBar/string /resourcesandroid/packages/apps/Settings/res/xml/display_settings.xml settings:userRestrictionno_config_brightnessintent android:actioncom.android.intent.action.SHOW_BRIGHTNESS_DIALOG //com.android.settingslib.RestrictedPreference SwitchPreferenceandroid:keyctrl_statusbarandroid:titlestring/ctrl_statusbar/ SwitchPreferenceandroid:keyctrl_navigationbarandroid:titlestring/ctrl_navigationbar/com.android.settings.display.NightDisplayPreferenceandroid:keynight_displayandroid/packages/apps/Settings/src/com/android/settings/DisplaySettings.java import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.search.SearchIndexable;import com.android.settings.display.StatusBarPreferenceController; import com.android.settings.display.NavigationBarPreferenceController; import java.util.ArrayList; import java.util.List;controllers.add(new AwEnhanceModePreferenceController(context));controllers.add(new AwSmartBacklightPreferenceController(context));controllers.add(new AwColorTemperaturePreferenceController(context));controllers.add(new StatusBarPreferenceController(context));controllers.add(new NavigationBarPreferenceController(context));return controllers;}android/packages/apps/Settings/src/com/android/settings/display/NavigationBarPreferenceController.java 新增 package com.android.settings.display;import android.content.Context; import android.provider.Settings; import androidx.preference.SwitchPreference; import androidx.preference.Preference; import androidx.preference.PreferenceScreen;import com.android.settings.core.PreferenceControllerMixin; import com.android.settingslib.core.AbstractPreferenceController; import android.content.Intent; import android.util.Log; import android.os.SystemProperties; /*** 根据系统设置参数控制导航栏显示隐藏* */ public class NavigationBarPreferenceController extends AbstractPreferenceControllerimplements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {private static final String TAG NavigationBarPreferenceController;private static final String KEY_NAVIGATION_BAR ctrl_navigationbar;public static final String ACTION_HIDE_NAVIGATION_BAR com.systemui.navigationbar.hide;public static final String ACTION_SHOW_NAVIGATION_BAR com.systemui.navigationbar.show;public NavigationBarPreferenceController(Context context) {super(context);}Overridepublic String getPreferenceKey() {return KEY_NAVIGATION_BAR;}Overridepublic boolean isAvailable() {return true;}Overridepublic void displayPreference(PreferenceScreen screen) {if (!isAvailable()) {setVisible(screen, KEY_NAVIGATION_BAR, true);return;}final SwitchPreference mNavigationBarPreference screen.findPreference(KEY_NAVIGATION_BAR);if (mNavigationBarPreference ! null) {String value SystemProperties.get(persist.sys.navigationbar.enable, true);mNavigationBarPreference.setChecked(value.equals(true));mNavigationBarPreference.setOnPreferenceChangeListener(this);}}Overridepublic void updateState(Preference preference) {String value SystemProperties.get(persist.sys.navigationbar.enable, true);Log.d(TAG, ---updateState--- value: value);((SwitchPreference) preference).setChecked(value.equals(true));}Overridepublic boolean onPreferenceChange(Preference preference, Object newValue) {boolean value (Boolean) newValue;Log.d(TAG, ---onPreferenceChange--- value: value);Intent intent new Intent();if (value) {intent.setAction(ACTION_SHOW_NAVIGATION_BAR);} else {intent.setAction(ACTION_HIDE_NAVIGATION_BAR);}mContext.sendBroadcast(intent);return true;} }android/packages/apps/Settings/src/com/android/settings/display/StatusBarPreferenceController.java新增 package com.android.settings.display;import android.content.Context; import android.provider.Settings; import androidx.preference.SwitchPreference; import androidx.preference.Preference; import androidx.preference.PreferenceScreen;import com.android.settings.core.PreferenceControllerMixin; import com.android.settingslib.core.AbstractPreferenceController; import android.content.Intent; import android.util.Log; import android.os.SystemProperties; /*** 根据系统设置参数控制状态栏显示隐藏* */ public class StatusBarPreferenceController extends AbstractPreferenceController implementsPreferenceControllerMixin, Preference.OnPreferenceChangeListener {private static final String TAG StatusBarPreferenceController;private static final String KEY_STATUS_BAR ctrl_statusbar;public static final String ACTION_HIDE_STATUS_BAR com.systemui.statusbar.hide;public static final String ACTION_SHOW_STATUS_BAR com.systemui.statusbar.show;public StatusBarPreferenceController(Context context) {super(context);}Overridepublic String getPreferenceKey() {return KEY_STATUS_BAR;}Overridepublic boolean isAvailable() {return true;}Overridepublic void displayPreference(PreferenceScreen screen) {if (!isAvailable()) {setVisible(screen, KEY_STATUS_BAR, true);return;}final SwitchPreference mStatusBarPreference screen.findPreference(KEY_STATUS_BAR);if (mStatusBarPreference ! null) {String value SystemProperties.get(persist.sys.statusbar.enable, true);mStatusBarPreference.setChecked(value.equals(true));mStatusBarPreference.setOnPreferenceChangeListener(this);}}Overridepublic void updateState(Preference preference) {String value SystemProperties.get(persist.sys.statusbar.enable, true);Log.d(TAG, ---updateState--- value: value);((SwitchPreference) preference).setChecked(value.equals(true));}Overridepublic boolean onPreferenceChange(Preference preference, Object newValue) {boolean value (Boolean) newValue;Log.d(TAG, ---onPreferenceChange--- value: value);Intent intent new Intent();if (value) {intent.setAction(ACTION_SHOW_STATUS_BAR);} else {intent.setAction(ACTION_HIDE_STATUS_BAR);}mContext.sendBroadcast(intent); // 发送广播return true;} }4、设置--显示菜单里的效果如下图
http://www.hkea.cn/news/14349577/

相关文章:

  • 广州市城乡建设部网站首页微营销方案
  • 无锡网站制作公司青岛网页设计公司
  • 潍坊网站建设一站式服务有了页游源代码如何做网站
  • 长沙宁乡建设网站钓鱼网站链接怎么做
  • 百度大数据分析网站推广优化外包便宜
  • dede如何手机网站和电脑网站的数据同步更新企业做网站哪家便宜
  • 泉州手机端建站模板wordpress更新的文章编辑器不好用
  • 做网站 赚钱多吗网站运营是具体的
  • 如何制作wordpress网站地图网站开发定价
  • 做营销型网站要多少钱圣辉友联刘金鹏做网站
  • 石家庄企业网站wordpress 获取自定义字段值
  • 哈尔滨模板建站服务商手机网站什么意思
  • 优质高职院校建设网站网站策划与建设阶段的推广方法
  • 外贸cms建站wordpress seo怎么
  • 海珠网站建设公阿里巴巴网站建设要多少钱
  • linux做网站南沙门户网站建设
  • 做音乐相册的网站小红书推广方式如何引流
  • 廉江网站建设微博推广有用吗
  • 洪梅镇网站建设公司西安煤炭建设监理中心网站
  • 深圳百度推广网站建设网店代运营的公司有哪些
  • 电子商务推荐类网站建设的目的西安企业网站设计哪家专业
  • 免费网站模板html深圳网站建设 公司
  • 网站分析报告范文网站开发用哪个软件方便
  • phpcms网站备份竹林wordpress主题
  • 廊坊市 广阳区城市建设局网站淮南市网站建设
  • 网站建设首选云端高科中国设计之家
  • 国外做的比较好的网站网站的栏目有什么名字
  • 做家常菜哪个网站最好wordpress php.ini在哪
  • 手机网站建设比较好的公司轻量级WordPress
  • 招商网站开发网站建设 福州