Android Browser Gallery3D无法两指手势缩放
2025-02-21 来源:cnblogs
在我们三星s5pv210平台上使用的Android2.3.4自带的browser无法打开网页后进行两指手势缩放操作,只能通过连击缩放,而其他平台都可以,后来发现问题在frameworks/base/core/java/android/webkit/WebView.java文件的如下函数中:
void
updateMultiTouchSupport(Context context) {
WebSettings settings = getSettings();
final PackageManager pm =
context.getPackageManager();
mSupportMultiTouch =
pm.hasSystemFeature(PackageManager.FEATURE_TOUCHSCREEN_MULTITOUCH) &&
settings.supportZoom() &&
settings.getBuiltInZoomControls();
mAllowPanAndScale = pm.hasSystemFeature(
PackageManager.FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT);
if (mSupportMultiTouch
&& (mScaleDetector == null))
mScaleDetector = new ScaleGestureDetector(context,new
ScaleDetectorListener());
} else if (!mSupportMultiTouch
&& (mScaleDetector != null))
mScaleDetector = null; 查了下,mSupportMultiTouch这个变量是决定性因素,而其又决定于下面三大条件:
1、PackageManager.FEATURE_TOUCHSCREEN_MULTITOUCH;
2、settings.supportZoom();
3、settings.getBuiltInZoomControls();
后面两个函数对应于mSupportZoom和mBuiltInZoomControls两变量,查到在里面相应的设置都会为true,故问题存在于第一点,该点取决于/system/etc/permissions/目录下的文件,只有其中有一个xml文件里含有android.hardware.touchscreen.multitouch这项就要吧,后来发现原来我们的文件系统对应的目录下是不存在相应的文件,再查下去发现在我们的frameworks/base/data/etc/目录下有文件android.hardware.touchscreen.multitouch.xml,含有如下内容:
/>
现在,我们在编译的脚本中让其每次都复制到/system/etc/permissions/目录下即可,修改device/samsung/smdkv210/device.mk文件,在任一项PRODUCT_COPY_FILES frameworks/base/data/etc/android.hardware.touchscreen.multitouch.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.xml,至此就搞定了,为何只要含有上面的配置项即能让PackageManager.FEATURE_TOUCHSCREEN_MULTITOUCH这个特性生效,首先取决于硬件,TP要支持两点以上触摸,再者取决于文件frameworks/base/services/java/com/android/server/PackageManagerService.java,该文件会读取复制的目标目录下的xml,并配置相应的参数。
参考网址:
http://blog.csdn.net/tjd0227/article/details/6043206 http://www.bangchui.org/simple/?t8649.html
- RK3588开发板Android系统烧写实践与关键步骤
- Nordic Semiconductor率先将蓝牙信道探测技术引入开源Android应用程序
- 谷歌DeepMind挖角波士顿动力前CTO,欲打造机器人界的“安卓”
- 三星官宣 AI 眼镜计划:搭载 Android XR 系统,集成 Gemini AI
- 车载操作系统(OS)之战:安卓、Linux、鸿蒙,谁能定义下一代智能座舱?
- A19 Pro仍是最快的单核手机SoC:安卓骁龙8 Elite Gen 5也追不上
- iTOP-4412开发板-Android4.4-Bluetooth移植文档
- 解析Android移动设备的传感器技术
- 基于android的远程控制智能灯
- Beacon在可穿戴设备中的应用:安卓&蓝牙第二篇
- 六大全新产品系列推出,MCX A微控制器家族迎来创新
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 模组复用与整机重测在SRRC、CCC、CTA/NAL认证中的实践操作指南
- 有源晶振与无源晶振的六大区别详解
- 英飞凌持续巩固全球微控制器市场领导地位
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 从控制到系统:TI利用边缘AI重塑嵌入式MCU的边界
- 蓝牙信道探测技术原理与开发套件实践
- Microchip 推出生产就绪型全栈边缘 AI 解决方案,赋能MCU和MPU实现 智能实时决策
- LoRa、LoRaWAN、NB-IoT与4G DTU技术对比及工业无线方案选型分析




