- Quick Ways to Fix Touch Screen Not Working on Android?
- Why is My Phone Touch Screen Not Working?
- Touch Screen Not Working: How to Fix?
- Touch Screen With Physical Damage: How to Fix?
- Touch Screen is Non-Responsive: How to Recover Data? (Video Guide)
- Полный список
- Разработка мультитач веб-приложений
- События
- Приложения с поддержкой прикосновений
- Важные Моменты
- Поддержка устройств
- Инструменты разработчика
Quick Ways to Fix Touch Screen Not Working on Android?
I want to recover data from a broken Samsung device, you can perfectly fix it by scrolling down to the last part “Touch Screen is Non-Responsive: How to Recover Data”. Follow the steps and you’re able to recover data from broken Android with the FonePaw Broken Android Data Extraction app easily.
This tutorial is going to help with touch screen problem on Android smartphone and tablet. The problem could be:
The touchscreen stopped working on an Android cell phone and doesn’t respond to any taps;
Touch screen doesn’t respond correctly, for example, when you tap «j», you get «b»;
Touch screen lags.
Whether the touch screen is not working Samsung Galaxy, HTC, LG, Nexus, Moto, ZTE or others, you can go ahead with the following fixes for touch screen not working problem.
People also read:
Why is My Phone Touch Screen Not Working?
Phone touch screen could stop working for many reasons. Here are the most common reasons why your Samsung, LG, Pixel, ZTE, etc. don’t respond to your touch.
Physical damage. The touch screen is broken or damaged. High temperature, cold, moisture, magnet, static electricity can all damaged touchscreen on Android phone;
Malicious or performance-draining apps that crash the phone so the touch screen is unresponsive;
Android system crashes after a firmware update, ROM flashing, etc. ;
Wrong settings. A factory reset could restore the phone to default settings and fix the problem.
If the touch screen just stops working for no reason, it is probably caused by a software problem. You can refer to the Part 2 for solutions.
If you find physical damage on the phone, jump to part 3 about how to fix unresponsive touch screen with physical damage.
Touch Screen Not Working: How to Fix?
If your touch screen doesn’t experience any physical damage but suddenly stops respond to your touch, this may be caused by software issues.
1. Restart Android Device
Before rushing into any other troubleshooting procedure, restart your Android phone or tablet to fix software glitches that may prevent the screen from functioning. To restart an Android device with the touch screen is not working properly:
Press and hold the power button until the screen becomes black;
After 1 minute or so, hold the power button again to power on the device.
In many cases, the touch screen will respond normally after the device reboots.
2. Remove Memory Card & SIM Card
Sometimes, a faulty memory card or SIM card should take the blame. Therefore,
Power off your device (keep holding power button if the screen is totally unresponsive);
Remove back cover of your Android device and take off memory & SIM card;
Reboot the device and see if the problem is gone.
3. Put Device in Safe Mode
Corrupted or troublesome third-party apps could also cause touch screen problem on Android phone or tablet. Under the safe mode, all third-party apps that you download will be disabled. So if the touch screen works well in safe mode, then you should uninstall some of the third-party apps, especially those that were installed recently before the touch screen problem starts.
Power off your Android device;
Long press power button to reboot the device;
When you see the Samsung, Nexus, LG or other brand logos, release the power button and hold down the Volume Down button;
Release Volume Down button when the device boots up with a Safe mode indicator on the bottom left corner.
If your touch screen just lags or respond incorrectly, you can also try to enter safe mode in this method:
Hold the power button until the power options menu appears;
Long-press the Power Off ;
When you see the message whether to reboot your device into safe mode, tap «OK».
4. Factory Reset Android Device in Recovery Mode
If the touch screen is completely unresponsive, factory resetting the device in Recovery Mode may help. However, this will delete all data in your Android device, including downloaded apps, photos, messages, contacts, etc. Therefore, use this as the last resort and if possible, have a backup to your Google account beforehand.
The steps to enter recovery mode are different for different Android models. Here are the ways to boot into Recovery Mode
(opens new window) for some popular models: Samsung Galaxy, HTC One, Nexus, LG G, Moto Droid.
Note: If the touch screen is still unresponsive even after a factory reset was performed, please move to the following methods to fix phone screen.
5. Calibrate Touch Screen on Android with Apps
There are apps in the Google Play Store that can calibrate your phone/tablet touch screen and improve its accuracy and responsiveness. These apps are especially helpful if your touch screen responds too slow or inaccurately. Type «touch screen calibration» on the search bar in the Play Store and you should get quite a few results. Read the reviews carefully before download.
Touch Screen With Physical Damage: How to Fix?
If your phone or tablet has been dropped, smacked, water damaged, the touch screen could be damaged and thus stop working. Before replacing a new touch screen, try these free tips first.
1. Test Touch Screen on Android Device
A diagnostics test of the touch screen won’t fix the problem but it helps to identify which areas of the screen are truly unresponsive. To access the diagnostics tool, you need to enter a specific code in phone dial. And the codes differ for Android devices of different manufacturers, models, OS versions. Here are some codes that are commonly used:
*#7353# : most Android smartphones, especially Samsung;
##3424##: most HTC device;
##7378423##: most Sony Xperia smartphones;
#0# : Motorola device.
For example, here is how I test the touch screen on my Samsung Galaxy S4 on Android 4.0.
Open phone dial;
Type *#7353# to enter diagnostics tool menu;
Choose TSP Dot Mode or TSP Grid Mode, which are used to test touch screen;
TSP Dot Mode will show small dots as you tap on the screen while TSP Grid Mode allows you to test every spot of the screen in grid overlay.
2. Knock the Touch Screen
If the device has been dropped or smacked, the digitizer cable could be loose and thus touch screen doesn’t respond. If this is the case, you can fix it by gently knock on every corner of the touchscreen for a few times. The method has been proved effective by many users.
3. Fix Water Damaged Touch Screen
In many cases, touch screen stops working after the device experience liquid damaged. There is still a ray of hope that your touch screen will be back to normal if you fix the water damaged Android device
(opens new window) with four do’s and don’ts.
Touch Screen is Non-Responsive: How to Recover Data? (Video Guide)
No matter why your touch screen is not working now, only if it has enough battery and the buttons can work, you can try this way to backup data before fixing the unresponsive screen
What should you do before backing up the data?
(opens new window) on PC, which can recover data (photos, contacts, messages and more) from Android phone with a broken screen or black screen.
Prepare a USB cable which can get your phone connected to PC.
Now, just check how I fix my phone touch not working with the help of USB cable
Steps to Recover Data When Touch Screen is Non-Responsive
STEP 1. Launch the homepage of the program and then move to «Broken Android Data Extraction«. Then click «Start» to select the corresponding model of your device, e.g.: S6, SM-G920F.
STEP 2. Follow the guide and put the Android phone into download mode with pressing some buttons. After entering download mode, the program will download a recovery package and repair the device.
STEP 3. When the repairing is done, your phone data will be scanned out. Waiting for several minutes, all the existing data can be saved with the «Recover» button.
In fact, we may meet with many cases about touch screen, even though you use different phone models, like:
Nexus touch screen not working;
Samsung screen no response;
LG frozen screen
After trying the steps above and cannot fix, you can go somewhere to get your phone screen fixed, especially the local repair store.
If you find other fixes useful for unresponsive touch screen, post it to share with us below. It will help others who are experiencing the same problem.
Источник
Полный список
Раньше мы для View-компонентов использовали OnClickListener и ловили короткие нажатия. Теперь попробуем ловить касания и перемещения пальца по компоненту. Они состоят из трех типов событий:
— нажатие (палец прикоснулся к экрану)
— движение (палец движется по экрану)
— отпускание (палец оторвался от экрана)
Все эти события мы сможем ловить в обработчике OnTouchListener, который присвоим для View-компонента. Этот обработчик дает нам объект MotionEvent, из которого мы извлекаем тип события и координаты.
На этом уроке рассмотрим только одиночные касания. А мультитач – на следующем уроке.
Project name: P1021_Touch
Build Target: Android 2.3.3
Application name: Touch
Package name: ru.startandroid.develop.p1021touch
Create Activity: MainActivity
strings.xml и main.xml нам не понадобятся, их не трогаем.
MainActivity реализует интерфейс OnTouchListener для того, чтобы выступить обработчиком касаний.
В onCreate мы создаем новый TextView, сообщаем ему, что обработчиком касаний будет Activity, и помещаем на экран.
Интерфейс OnTouchListener предполагает, что Activity реализует его метод onTouch. На вход методу идет View для которого было событие касания и объект MotionEvent с информацией о событии.
Методы getX и getY дают нам X и Y координаты касания. Метод getAction дает тип события касания:
ACTION_DOWN – нажатие
ACTION_MOVE – движение
ACTION_UP – отпускание
ACTION_CANCEL – практически никогда не случается. Насколько я понял, возникает в случае каких-либо внутренних сбоев, и следует трактовать это как ACTION_UP.
В случае ACTION_DOWN мы пишем в sDown координаты нажатия.
В случае ACTION_MOVE пишем в sMove координаты точки текущего положения пальца. Если мы будем перемещать палец по экрану – этот текст будет постоянно меняться.
В случае ACTION_UP или ACTION_CANCEL пишем в sUp координаты точки, в которой отпустили палец.
Все это в конце события выводим в TextView. И возвращаем true – мы сами обработали событие.
Теперь мы будем водить пальцем по экрану (курсором по эмулятору) в приложении, и на экране увидим координаты начала движения, текущие координаты и координаты окончания движения.
Все сохраним и запустим приложение.
Ставим палец (курсор) на экран
Если вчерашний вечер не удался, голова не болит, рука тверда и не дрожит :), то появились координаты нажатия.
Если же рука дрогнула, то появится еще и координаты перемещения.
Продолжаем перемещать палец и видим, как меняются координаты Move.
Теперь отрываем палец от экрана и видим координаты точки, в которой это произошло
В целом все несложно. При мультитаче процесс немного усложнится, там уже будем отслеживать до 10 касаний.
Если вы уже знакомы с техникой рисования в Android, то вполне можете создать приложение выводящее на экран геометрическую фигуру, которую можно пальцем перемещать. Простейший пример реализации можно посмотреть тут: http://forum.startandroid.ru/viewtopic.php?f=28&t=535.
На следующем уроке:
— обрабатываем множественные касания
Присоединяйтесь к нам в Telegram:
— в канале StartAndroid публикуются ссылки на новые статьи с сайта startandroid.ru и интересные материалы с хабра, medium.com и т.п.
— в чатах решаем возникающие вопросы и проблемы по различным темам: Android, Kotlin, RxJava, Dagger, Тестирование
— ну и если просто хочется поговорить с коллегами по разработке, то есть чат Флудильня
— новый чат Performance для обсуждения проблем производительности и для ваших пожеланий по содержанию курса по этой теме
Источник
Разработка мультитач веб-приложений
Мобильные устройства такие как сматрфоны или планшеты обычно имеют емкостный экран, чувствительный к прикосновениям для расширенного взаимодействия с пользователем.
С каждым днем мобильные приложения становятся все сложнее и сложнее. Веб-разработчикам тоже нужен API для использования всех возможностей тачскрина. Например, какой-нибудь аркаде или файтингу нужна необходимость нажатья нескольких кнопок, эту возможность может предоставить экран с поддержкой мультитач.
Apple ввел свое touch events API в iOS 2.0, вскоре устройства на Android тоже получили такую возможность и touch events API стал стандартом де-факто. Недавно была собрана рабочая группа W3C для работы над touch events specification.
В этой статье я рассмотрю touch events API, которое нам предоставляют устройства на iOS и Android, мы изучим какие приложения можно создавать, используя touch events API. В статье куча полезных примеров и техник, которые позволяют упростить написание приложений с touch events API.
События
Эти три основных события представлены в спецификации и поддерживаются многими устройствами:
touchstart: прикосновение к DOM element (аналог mousedown).
touchmove: движение пальца по DOM element (аналог mousemove).
touchend: палец убран с DOM element (аналог mouseup).
Каждое событие включает в себя три списка точек прикосновения (списки пальцев):
touches: список всех точек прикосновения на экране.
targetTouches: список точек на текущем элементе.
changedTouches: список пальцев, участвующих в текущем событии. Например, в событии touchend это тот палец, который был убран.
Каждый элемент списка представляет из себя объект формата:
identifier: уникальный идентификатор пальца, который сейчас на течскрине
target: DOM element, который является целью события
координаты client/page/screen: точка возникновения события на экране
radius и rotationAngle: эллипс, который описывает форму пальца
Приложения с поддержкой прикосновений
События touchstart, touchmove и touchend предоставляют достаточно мощный API для создания любых взаимодействий, основанных на прикосновении включая все обычные мультитач жесты — зум, вращение и так далее.
Этот пример позволяет вам перетаскивать DOM element, используя одноточечное прикосновение:
Ниже есть пример, который отображает все прикосновения на экране.
Картинка кликабильна
Вот его код:
Демки
Появилось уже большое количество приложений с поддержкой мультитач, одно из них рисовалка, основанная на canvas, созданная Paul Irish
И демка Browser Ninja — клон Fruit Ninja, использующая CSS3 transforms, transitions и canvas:
Важные Моменты
Предотвращение зума
Настройки по умолчанию не очень подходят для мультитач, часто ваши движения пальцами воспринимаются мобильным браузером как команды для зума или скролла.
Для отключения зума вам необходимо приписать следующий мета-тег:
Предотвращение скролла
Некоторые мобильные устройства имеют поведение по умолчанию для жеста «скролл» (touchmove), такие как классический оверскролл в iOS, что приводит к возвращению страницы назад, если скролл превысил допустимые рамки. Это сбивает с толку в мультитач приложениях, но может быть легко отключено:
Рисуйте аккуратно
Если вы пишете мультитач приложение, которое включается в себя сложное многопальцевые жесты, то будьте осторожны с ними так как вы будете получать очень много событий. Рассмотрим предыдущий пример, в котором рисовались все точки прикосновения. Вы можете это сделать таким образом:
Этот метод не масштабируется с числом пальцев на экране. Вместо этого вы можете использовать цикл для отрисовки всех пальцев и получения значительно лучше производительности:
Таймеры на setInterval — это не очень хороший способ для создания анимаций, т.к. он не синхронизируется с циклом перерисовки браузера. Современные десктопные браузеры предоставляют функцию requestAnimationFrame, которая лучше подходит для цикличных анимаций — она производительней и тратит меньше батареи. Как только она будет поддерживаться всеми современными браузерами использование setInterval будет плохим тоном.
Использование targetTouches и changedTouches
Важно понять, что event.touches это массив всех пальцев, которые контактируют с экраном, не только те, что касаются DOM element’а. Наиболее подходящим обычно является event.targetTouches или event.changedTouches.
Наконец, если вы разрабатываете под мобильные устройства, вы должны знать важные моменты, которые описаны в статье Eric Bidelman и в документе W3C.
Поддержка устройств
К сожалению не все устройство поддерживают события прикосновения в должном качестве. Я написал скрипт для диагностики, который отображает информацию о поддержке touch API тем или иным устройством, а также точность touchmove. Я протестировал Android 2.3.3 на Nexus One и Nexus S, Android 3.0.1 на Xoom, и iOS 4.2 на iPad и iPhone.
В двух словах, все эти браузеры поддерживают touchstart, touchend, и touchmove.
В спецификации описаны ещё 3 события, но ни один из браузеров не поддерживает их:
touchenter: палец входи в DOM element.
touchleave: палец покидает DOM element.
touchcancel: касание прервано (зависит от реализации).
Все протестированные браузеры также предоставляют списки прикосновений — touches, targetTouches и changedTouches. Однако, ни один из браузеров не поддерживает ни radiusX ни radiusY ни rotationAngle, которые определяют форму пальца.
Событие touchmove, срабатывает порядка 60 раз в секунду на всех протестированных устройствах.
Android 2.3.3 (Nexus)
В браузере Android Gingerbread (Nexus One и Nexus S) отсутствует поддержка multi-touch. Это известная проблема.
Android 3.0.1 (Xoom)
В браузере Xoom есть поддержка мультитача, но она работает только на одном DOM элементе. Браузер не может корректно обработать два параллельных события на разных DOM элементах. Другими словами, следующий код будет обрабатывает два параллельных события:
iOS 4.x (iPad, iPhone)
Устройства на iOS в полной мере поддерживают Touch API.
Инструменты разработчика
В мобильной разработке всегда проще прототипировать на компьютере и по необходимости использовать живое мобильное устройство для теста. Мультитач это одна из всех вещей, которую сложно протестировать на обычном ПК, т.к многие ПК не поддерживают мультитач.
Необходимость тестирования на мобильных устройствах может увеличить цикл разработки, т.к. каждое изменение вы должны залить на сервер, а затем на устройство (прим. пер. Очень сомнительное затруднение). На мобильных устройствах отсутствуют необходимые инструменты разработчика.
Решение этой проблемы — симулирование события прикосновения на вашем ПК. Одноточечное прикосновение можно симулировать мышкой. Мультитач может быть симулирован на устройствах с поддержкой мулититач, например на новых Apple MacBook.
Одноточечные события
Если вы желаете симулировать одноточечное событие на вашем ПК, то попробуйте Phantom Limb, которая симулирует события прикосновения на страницах.
Также существует плагин Touchable для jQuery, который обединяет события мыши и прикосновения.
Мультитач события (решение только для MAC)
/Library/Internet Plug-Ins/.
2. Скачайте приложение TongSeng TUIO для MagicPad и запустите сервер.
3. Скачайте JavaScript библиотеку MagicTouch.js для симуляции событий прикосновения, совместимых со стандартом.
4. Подключите magictouch.js и плагин npTuioClient:
Я тестировал этот метод только в Chrome 10, но он должен работать и в других современных браузерах.
Если ваш ПК не поддерживает мультитач вы можете симулировать события прикосновения, используетя другие TUIO трекеры такие как reacTIVision. Подробная информация доступна на сайте проекта TUIO.
Ваши жесты могут пересекаться с жестами OS. На OS X вы можете настроить системные события в System Preferences > Trackpad
Мультитач события поддерживаются все большим числом мобильных браузеров, Я очень рад, что новые веб-приложения используют этот API в полную силу.
От переводчика
В комментариях к оригинальной статье также проскакивала ссылка: Touching and Gesturing on the iPhone
Предложения, пожелания, критика приветствуется!
Источник