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

wordpress bliss廊坊首页霸屏排名优化

wordpress bliss,廊坊首页霸屏排名优化,邯郸网站建设好的公司,装修设计公司网站有哪些20250602在荣品的PRO-RK3566开发板的Android13下打开关机对话框 2025/6/2 15:07 缘起:需要在荣品的PRO-RK3566开发板的Android13下,打开/增加关机对话框这个功能。 因为手机都有。那我们就找资料吧。 参考资料: https://blog.csdn.net/terry_…

20250602在荣品的PRO-RK3566开发板的Android13下打开关机对话框
2025/6/2 15:07


缘起:需要在荣品的PRO-RK3566开发板的Android13下,打开/增加关机对话框这个功能。
因为手机都有。那我们就找资料吧。


参考资料:
https://blog.csdn.net/terry_xiwang/article/details/122721784
RK3568 Android12 长按power键功能设置

Platform: RK3566
OS: Android 13
Kernel: v5.10.157
SDK Version:?


console:/ # uname -a
Linux localhost 5.10.157 #2 SMP PREEMPT Fri May 30 14:46:55 CST 2025 aarch64 Toybox
console:/ # 


问题
在测试Android12时发现,长按power键没有反应。对比Android11,是会弹出关机菜单,有emergency,power off和 reboot 这几个选项。

解决方案
frameworks/base/core/res/res/values/config.xml 中修改config_longPressOnPowerBehavior的属性值

简单分析
查了下这应该是Android12的新特性,长按关机默认功能是唤醒Google Assistant,我的机器中没有预装该应用所以就没有任何反应。
可以在Settings——System——Gestures——Press and hold power button中关闭Hold for Assistant功能,关闭后测试长按power键是可以直接关机,但没有出现任何提示。这样也不太好,最好是能和Android11的效果类似。

跟下settings源码
RK3568的Android12在这里:
packages/apps/Settings/src/com/android/settings/gestures/LongPressPowerButtonPreferenceController.java

可以看到getSummary() 的显示是根据getPowerButtonValue() 的值来判断的

@Override
    public CharSequence getSummary() {
        final int powerButtonValue = getPowerButtonValue();
        if (powerButtonValue == LONG_PRESS_POWER_ASSISTANT_VALUE) {
            return mContext.getString(R.string.power_menu_summary_long_press_for_assist_enabled);
        } else if (powerButtonValue == LONG_PRESS_POWER_GLOBAL_ACTIONS) {
            return mContext.getString(
                    R.string.power_menu_summary_long_press_for_assist_disabled_with_power_menu);
        } else {
            return mContext.getString(
                    R.string.power_menu_summary_long_press_for_assist_disabled_no_action);
        }   
    }   


getPowerButtonValue() 是获取POWER_BUTTON_LONG_PRESS_DEFAULT_VALUE_RESOURCE的值

private int getPowerButtonValue() {
        return Settings.Global.getInt(mContext.getContentResolver(),
                POWER_BUTTON_LONG_PRESS_SETTING,
                mContext.getResources().getInteger(POWER_BUTTON_LONG_PRESS_DEFAULT_VALUE_RESOURCE));
    }   


/**
     * Value used for long press power button behaviour when the Assist setting is disabled.
     * If this value matches Assist setting, then it falls back to Global Actions panel or
     * power menu, depending on their respective settings.
*/
private static final int POWER_BUTTON_LONG_PRESS_DEFAULT_VALUE_RESOURCE =
    com.android.internal.R.integer.config_longPressOnPowerBehavior;


rootroot@rootroot-X99-Turbo:~/Android13.0/packages/apps/Settings/src/com/android/settings$ cd gestures/
rootroot@rootroot-X99-Turbo:~/Android13.0/packages/apps/Settings/src/com/android/settings/gestures$ ll
total 256
drwxrwxr-x  2 rootroot rootroot  4096 12月 10 10:07 ./
drwxrwxr-x 61 rootroot rootroot  4096 12月 10 10:07 ../
-rw-rw-r--  1 rootroot rootroot  1309 12月 10 10:07 AssistGestureFeatureProviderImpl.java
-rw-rw-r--  1 rootroot rootroot  1301 12月 10 10:07 AssistGestureFeatureProvider.java
-rw-rw-r--  1 rootroot rootroot  3515 12月 10 10:07 AssistGestureSettings.java
-rw-rw-r--  1 rootroot rootroot  4844 12月 10 10:07 AssistGestureSettingsPreferenceController.java
-rw-rw-r--  1 rootroot rootroot  5224 12月 10 10:07 BackGestureIndicatorDrawable.java
-rw-rw-r--  1 rootroot rootroot  4000 12月 10 10:07 BackGestureIndicatorView.java
-rw-rw-r--  1 rootroot rootroot  2408 12月 10 10:07 ButtonNavigationSettingsAssistController.java
-rw-rw-r--  1 rootroot rootroot  2467 12月 10 10:07 ButtonNavigationSettingsFragment.java
-rw-rw-r--  1 rootroot rootroot  2716 12月 10 10:07 DoubleTapPowerPreferenceController.java
-rw-rw-r--  1 rootroot rootroot  2350 12月 10 10:07 DoubleTapPowerSettings.java
-rw-rw-r--  1 rootroot rootroot  3339 12月 10 10:07 DoubleTapScreenPreferenceController.java
-rw-rw-r--  1 rootroot rootroot  2651 12月 10 10:07 DoubleTapScreenSettings.java
-rw-rw-r--  1 rootroot rootroot  2734 12月 10 10:07 DoubleTwistGestureSettings.java
-rw-rw-r--  1 rootroot rootroot  4418 12月 10 10:07 DoubleTwistPreferenceController.java
-rw-rw-r--  1 rootroot rootroot  2021 12月 10 10:07 GestureNavigationSettingsAssistController.java
-rw-rw-r--  1 rootroot rootroot  6209 12月 10 10:07 GestureNavigationSettingsFragment.java
-rw-rw-r--  1 rootroot rootroot  2831 12月 10 10:07 GesturePreferenceController.java
-rw-rw-r--  1 rootroot rootroot  2716 12月 10 10:07 GestureSettings.java
-rw-rw-r--  1 rootroot rootroot  3802 12月 10 10:07 GesturesSettingPreferenceController.java
-rw-rw-r--  1 rootroot rootroot  2372 12月 10 10:07 GlobalActionsPanelPreferenceController.java
-rw-rw-r--  1 rootroot rootroot  3154 12月 10 10:07 LongPressPowerFooterPreferenceController.java
-rw-rw-r--  1 rootroot rootroot  3355 12月 10 10:07 LongPressPowerForAssistantPreferenceController.java
-rw-rw-r--  1 rootroot rootroot  3360 12月 10 10:07 LongPressPowerForPowerMenuPreferenceController.java
-rw-rw-r--  1 rootroot rootroot  2872 12月 10 10:07 LongPressPowerIllustrationPreferenceController.java
-rw-rw-r--  1 rootroot rootroot  5219 12月 10 10:07 LongPressPowerSensitivityPreferenceController.java
-rw-rw-r--  1 rootroot rootroot  3666 12月 10 10:07 OneHandedActionPullDownPrefController.java
-rw-rw-r--  1 rootroot rootroot  3675 12月 10 10:07 OneHandedActionShowNotificationPrefController.java
-rw-rw-r--  1 rootroot rootroot  2655 12月 10 10:07 OneHandedEnablePreferenceController.java
-rw-rw-r--  1 rootroot rootroot  3346 12月 10 10:07 OneHandedMainSwitchPreferenceController.java
-rw-rw-r--  1 rootroot rootroot  1728 12月 10 10:07 OneHandedPreferenceCategoryController.java
-rw-rw-r--  1 rootroot rootroot  5730 12月 10 10:07 OneHandedSettings.java
-rw-rw-r--  1 rootroot rootroot 11811 12月 10 10:07 OneHandedSettingsUtils.java
-rw-rw-r--  1 rootroot rootroot  3301 12月 10 10:07 PickupGesturePreferenceController.java
-rw-rw-r--  1 rootroot rootroot  2531 12月 10 10:07 PickupGestureSettings.java
-rw-rw-r--  1 rootroot rootroot  1539 12月 10 10:07 PowerMenuPreferenceController.java
-rw-rw-r--  1 rootroot rootroot  1488 12月 10 10:07 PowerMenuSettings.java
-rw-rw-r--  1 rootroot rootroot  6982 12月 10 10:07 PowerMenuSettingsUtils.java
-rw-rw-r--  1 rootroot rootroot  7003 12月 10 10:07 PreventRingingGesturePreferenceController.java
-rw-rw-r--  1 rootroot rootroot  2900 12月 10 10:07 PreventRingingGestureSettings.java
-rw-rw-r--  1 rootroot rootroot  7787 12月 10 10:07 PreventRingingParentPreferenceController.java
-rw-rw-r--  1 rootroot rootroot  4337 12月 10 10:07 PreventRingingSwitchPreferenceController.java
-rw-rw-r--  1 rootroot rootroot  3083 12月 10 10:07 SwipeToNotificationPreferenceController.java
-rw-rw-r--  1 rootroot rootroot  2506 12月 10 10:07 SwipeToNotificationSettings.java
-rw-rw-r--  1 rootroot rootroot 15894 12月 10 10:07 SystemNavigationGestureSettings.java
-rw-rw-r--  1 rootroot rootroot  3787 12月 10 10:07 SystemNavigationPreferenceController.java
-rw-rw-r--  1 rootroot rootroot  2711 12月 10 10:07 TapScreenGesturePreferenceController.java
-rw-rw-r--  1 rootroot rootroot  2614 12月 10 10:07 TapScreenGestureSettings.java
rootroot@rootroot-X99-Turbo:~/Android13.0/packages/apps/Settings/src/com/android/settings/gestures$ 
rootroot@rootroot-X99-Turbo:~/Android13.0/packages/apps/Settings/src/com/android/settings/gestures$ grep getSummary . -R
./OneHandedEnablePreferenceController.java:    public CharSequence getSummary() {
./AssistGestureSettingsPreferenceController.java:    public CharSequence getSummary() {
./GesturePreferenceController.java:    public CharSequence getSummary() {
./TapScreenGesturePreferenceController.java:    public CharSequence getSummary() {
./TapScreenGesturePreferenceController.java:        return super.getSummary();
./PowerMenuPreferenceController.java:    public CharSequence getSummary() {
./SystemNavigationPreferenceController.java:    public CharSequence getSummary() {
rootroot@rootroot-X99-Turbo:~/Android13.0/packages/apps/Settings/src/com/android/settings/gestures$ grep longPressOnPowerBehavior . -R
./PowerMenuSettingsUtils.java:            com.android.internal.R.integer.config_longPressOnPowerBehavior;

rootroot@rootroot-X99-Turbo:~/Android13.0/packages/apps/Settings/src/com/android/settings/gestures$ Connection closing...Socket close.

RK3568的Android12在这里:
Android13.0/packages/apps/Settings/src/com/android/settings/gestures/PowerMenuSettingsUtils.java


这边可以看到最终是获取 config_longPressOnPowerBehavior 的属性值,该属性值是在frameworks/base/core/res/res/values/config.xml中定义,各个值代表的含义已注释得很明确了

<!-- Control the behavior when the user long presses the power button.
            0 - Nothing
            1 - Global actions menu
            2 - Power off (with confirmation)
            3 - Power off (without confirmation)
            4 - Go to voice assist
            5 - Go to assistant (Settings.Secure.ASSISTANT)
    -->
    <integer name="config_longPressOnPowerBehavior">5</integer>


测试属性设置为1,长按power键,出现如下界面,类似Android11的效果了
属性设置为2,长按power键,出现如下关机确认界面
这两个属性配置基本可以满足需求,问题解决

修改这里:
Z:\Android13.0\frameworks\base\core\res\res\values\config.xml

    <!-- How long to show a warning message to user before the device goes to sleep after prolonged
         user inactivity. -->
    <integer name="config_attentiveWarningDuration">30000</integer>

    <!-- Control the behavior when the user long presses the power button.
            0 - Nothing
            1 - Global actions menu
            2 - Power off (with confirmation)
            3 - Power off (without confirmation)
            4 - Go to voice assist
            5 - Go to assistant (Settings.Secure.ASSISTANT)
    -->
    <integer name="config_longPressOnPowerBehavior">3</integer>

    <!-- The time in milliseconds after which a press on power button is considered "long". -->
    <integer name="config_longPressOnPowerDurationMs">500</integer>

修改为:

    <!-- How long to show a warning message to user before the device goes to sleep after prolonged
         user inactivity. -->
    <integer name="config_attentiveWarningDuration">30000</integer>

    <!-- Control the behavior when the user long presses the power button.
            0 - Nothing
            1 - Global actions menu
            2 - Power off (with confirmation)
            3 - Power off (without confirmation)
            4 - Go to voice assist
            5 - Go to assistant (Settings.Secure.ASSISTANT)
    -->
    <integer name="config_longPressOnPowerBehavior">1</integer>

    <!-- The time in milliseconds after which a press on power button is considered "long". -->
    <integer name="config_longPressOnPowerDurationMs">500</integer>


【编译之后就修改了这里,原因未知!】
    <!-- Whether to only install system packages on a user if they're allowlisted for that user
         type. These are flags and can be freely combined.
         0  - disable allowlist (install all system packages; no logging)
         1  - enforce (only install system packages if they are allowlisted)
         2  - log (log non-allowlisted packages)
         4  - any package not mentioned in the allowlist file is implicitly allowlisted on all users
         8  - same as 4, but just for the SYSTEM user
         16 - ignore OTAs (don't install system packages during OTAs)
         Common scenarios:
          - to enable feature (fully enforced) for a complete allowlist: 1
          - to enable feature for an incomplete allowlist (so use implicit allowlist mode): 5
          - to enable feature but implicitly allowlist for SYSTEM user to ease local development: 9
          - to disable feature completely if it had never been enabled: 16
          - to henceforth disable feature and try to undo its previous effects: 0
        Note: This list must be kept current with PACKAGE_WHITELIST_MODE_PROP in
        frameworks/base/services/core/java/com/android/server/pm/UserSystemPackageInstaller.java -->
    <integer name="config_userTypePackageWhitelistMode">5</integer> <!-- 1+4+8 -->

修改为:

    <integer name="config_userTypePackageWhitelistMode">13</integer> <!-- 1+4+8 -->


参考资料
https://baijiahao.baidu.com/s?id=1717361143132016535&wfr=spider&for=pc
https://segmentfault.com/a/1190000023222360?utm_source=tag-newest

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

相关文章:

  • 网站如何做移动网站最佳磁力吧ciliba
  • 可以做长页海报的网站网址域名大全
  • 长沙 网站建设实时疫情最新消息数据
  • 男人女人做那个网站百度关键词优化推广
  • 24 手表网站百度指数热度榜
  • 资产管理公司网站建设费用怎么入账软文怎么写比较吸引人
  • 新网站怎么让百度收录销售外包公司
  • 故宫网站建设武汉seo顾问
  • 福田做网站报价常用的关键词挖掘工具
  • 做logo找灵感的网站营销型企业网站诊断
  • 品牌公关具体要做些什么陕西seo主管
  • 个人网站建设设计网站seo设计
  • 国外网站建设banner人工智能的关键词
  • 重庆慕尚网站建设广告信息发布平台
  • 国家政府网站建设内容国内看不到的中文新闻网站
  • 怎么找网站建设百度搜索竞价推广
  • 惠州网站建设方案托管重庆网站优化
  • 濮阳住房建设厅网站如何自己建立一个网站
  • 上海网站备案企业培训视频
  • 加强网站建设和信息公开做网站哪个公司最好
  • 网站建设商城网站网络营销相关工作岗位
  • 网站搭建协议云浮网站设计
  • 网站模板怎么做的网络营销课程总结与心得体会
  • 2018什么做网站产品软文案例
  • 免费代码大全网站国际足联世界排名
  • 北京网约车池州网站seo
  • 做网站视频用哪个视频编辑软件网络平台建站
  • 十款免费软件app下载广东seo网站推广
  • 望京SOHO网站建设广州百度推广客服电话多少
  • Wix做的网站在国内打不开短视频优化