074909: кажется, я не все просчитал, удалив InCallUI. Радовался весь день, что могу сворачивать звонки клиентов нажатием одного пальца.
И что в выходные они точно больше не потревожат. Но тут неожиданно обнаружил косяк - теперь невозможны стали исходящие звонки!
То есть входящие нормально принимает, сворачивает, когда нужно итд, но вот исходящие с моего телефона теперь никак не сделать.
Видимо, приложение Телефон при исходящем вызове обращается к стандартной звонилке InCallUI.apk. А такую звонилку которая сама звонит в плэймаркете не нашел и не уверен что они вообще есть. Похоже, это все только обертки и все они вызывают в итоге стандартную звонилку.
Итак, инструкция. Может, у кого-то такая же проблема, как у меня и ему это поможет.
Как настроить телефон на базе Android для того, чтобы клиенты не беспокоили в нерабочее время (внимание, при выполнении данной инструкции есть риск того, что телефон может стать
неработоспособным - поэтому выполнение данной инструкции только на свой страх и риск).
Изначально инструкция проверялась на Lenovo P70 и Android 4.4.4, на других телефонах и операционных системах это может не работать.
1. Устанавливаем LLama, настраиваем чтобы телефон работал в тихом режиме в нерабочее время.
Возможно, кому-то этого будет достаточно и он на этом остановится. Если нет - следуем далее.
2. Устанавливаем ROOT.
3. Устанавливаем CallPopOut - программу, которая позволяет сворачивать звонки. В настройках устанавливаем "All Apps" и снимаем галочку "Exclude Homescreen".
4. Удаляем системное приложение InCallUI (стандартную звонилку). Стандартными средствами не удалить - поэтому для удаления скачиваем нужно приложение из Play Market. Для удаления
потребуется ROOT.
Я удалил с помощью программы ES Проводник (ROOT Explorer).
Теперь любые звонки сворачиваются в фон и во время входящих звонков можно нормально пользоваться телефоном. Единственное, невозможно во время входящего вызова выйти на рабочий стол, а
также не будет работать MP3-плеер. Но не то чтобы это большие проблемы. Работа телефона не парализована зато.
Возможно, кому-то этого будет достаточно и он на этом остановится. Если нет - следуем далее.
5. Возможно, кому-то нужно чтобы в нерабочее время на экране телефона вообще не всплывало окно входящего вызова - даже с возможностью сворачивания.
В этом случае в LLama настраиваем запуск программы CallPopOut в рабочее время и завершение приложения (ROOT) в нерабочее и проверку каждые 5 минут например что время рабочее/нерабочее.
В этом случае в нерабочее время вообще не получится принять вызов - так это и хорошо - не нужно думать принимать или не принимать - понятно, что в выходные дни нужно отдыхать.
Тем не менее, всегда можно вручную в пропущенных звонках посмотреть, кто звонил и перезвонить (например, можно в выходной день пару раз в день перезванивать на пропущенные звонки если нужно).
Но уведомления беспокоить уже не будут.
6. Неприятно, но после пропущенного вызова в верхней части экрана (статус-бар) отображается информация о пропущенном звонке (чей вызов пропущен). Ни к чему знать такую информацию -
чтобы напрасно не беспокоиться - особенно если день выходной или время нерабочее.
Устанавливаем и скачиваем приложение Notifications Off, отключаем уведомления для всех приложений, в том числе системных.
Если уведомления о пропущенных вызовах все равно появляются в верхней части экрана - тогда выполняем следующий шаг.
7. Скачиваем в PlayMarket статус-бар - например, Material Status Bar и в ней отключаем полностью все уведомления - достаточно чтобы в верхней панели отображались часы и заряд
аккумулятора.
При выполнении этих шагов телефон можно будет полноценно использовать для работы с клиентами в рабочее время, ну а в нерабочее время никто не побеспокоит, а если кто и побеспокоит - на
экране не будет никакой информации, кто именно звонил, но информация будет в списке пропущенных вызовов (чтобы перезвонить потом - когда будет рабочее время).
Уже было расстроился из-за невозможности отключения уведомлений о пропущенных вызовах в статус-баре. Очень уж не хочется знать, чей вызов пропустил в выходной день.
И решение с черной изолентой не понравилось, тк не видно часы и заряд аккумулятора и вообще верхняя панель очень функциональна, чтобы от нее отказываться.
Наконец пришла идея - скачать с плеймаркета сторонний статус бар, а в нем отключить уведомления (вообще все). И теперь все нормально стало вообще.
Очень рад, что выбрал в своей время (в 12-м году) именно Android. Замечательная операционная система.
Можно, конечно, написать скрипт шифрования и переименовывания имен абонентов и обратной расшифровки в начале рабочего дня - но это уже бред какой-то получается ... да и не получится это сделать скриптами автоматизации - придется свою программу под Android для этого писать. Проще уж черная изолента ...
Правда, вопрос с тулбаром в верхней части не решен. После окончания входящего вызова в фоне на 1-2 секунды все-таки отображается информация, кто звонил (ФИО абонента из контактов) - а не просто что вызов пропущен- и можно ее (эту информацию) случайно увидеть.
А значит, могут посетить глупые мысли - а может, зря не принял звонок именно этого абонента. То есть получается несколько хуже, чем при использовании второго, независимого телефона, в том случае практически ничего не потревожит.
Пробовал отключать уведомления для приложения Телефон - они все равно не отключаются - причем никакими приложениями.
Удалять приложение Телефон не решился - возможно, это повредит функциональности телефона.
Решил вопрос с уведомлениями заклеиванием верхней панели уведомлений черной изолентой в нерабочее время (и отклеиванием в рабочее время).
074909: 074909: удалось таки, наконец, удалить InCallUI под рутом (7 месяцев не решался, но сегодня решил рискнуть - и был готов к необходимости сброса телефона к заводским настройкам если что). Так и не понял, каким образом, но это у меня получилось! Да что там - я готов был даже рискнуть стоимостью телефона (15000 рублей), поставить root (я не любитель ставить root вообще) и поэкспериментировать - настолько меня это все достало!
После перезагрузки телефона сам удивился - но при входящем вызове теперь появляется только прозрачное окошко, которое убирается одним нажатием пальца (лучше бы, конечно, и без него - но все-таки оно так сильно не раздражает)! И в этом окошке не отображается даже имя того, кто звонит (только регион) - значит, такой входящий вызов не введет меня в неприятные мысли (если, например, мой неприятный клиент), например, во время праздника.
И звонок никак ни принять, ни отклонить вообще! Но вызов регистрируется в журнале входящих вызовов - и это как раз то, что нужно!
Но то что звонок теперь не принять - этот как бы не проблема - установил программу Call PopOut (которая в отличие от обычной звонилки InCallUI позволяет сворачивать входящие вызовы в фон). Также в LLama настроил автозапуск и завершение CallPopOut по расписанию - чтобы в 5 вечера отрубало CallPopOut, а в 8 утра врубало.
Есть, правда, и минусы - например, при входящем вызове (который в фоне) теперь возможно переключение между приложениями, но невозможно свернуть все приложения и показать рабочий стол. Но это все же гораздо мЕньшая неприятность, чем была раньше. По крайней мере, с самими приложениями можно работать нормально, входящий вызов не перегораживает экран.
Также есть еще одна проблемка - если слушать MP3-плеер - во время входящего вызова музыка прервется (например, во время медитации в субботу). Но это для меня тоже не такая проблема - можно написать скрипт на LLama, чтобы включал решим полета на 1-2 часа (обычно больше 2 часов музыку не слушаю) и потом автоматически отключал.
Теперь телефон в нерабочее время на 95% принадлежит мне, а не клиентам. Думаю, теперь носить с собой второй телефон больше не придется.
Но боюсь, это решение не будет работать вечно и на всех телефонах. Google выпустит какой-нибудь 7-й или 8-й андроид - там и Call PopOut может перестать работать и LLama ...
Может, кому пригодится - мой телефон Lenovo P70, операционная система Android 4.4.4.
P. S. Ваши два совета дейстивтельно реальные. Варианты с XPosed и переадресацией (и включением/отключением через USSD-команды) обязательно буду иметь в виду на будущее. Возможно, на других телефонах мой метод не сработает, но помогут Ваши. В способе с оператором (и с переадресацией), правда, минус в том, что ему надо платить (но что не сделаешь ради комфортной жизни).
MacroDroid позволяет выполнить любую shell-команду (я так понимаю, это консоль, которая под Рутом может все) по расписанию - поэтому здесь вижу перспективы.
074909: да - тут только вопрос в том, как эти XPosed скрипты вызывать из скрипта автоматизации (ведь нужно чтобы звонки уходили в фон только в нерабочее время). возможно, есть такая shell-команда для вызова XPosed-скриптов ...
А то, что за окно входящего вызова отвечает InCallUI - разобрался практически на 100%. Написал скрипт автоматизации, который при входящем вызове завершает InCallUI - так он потом снова автоматически запускается и так до бесконечности - пока не закончится входящий вызов. Поэтому вариант убивать InCallUI во время входящего вызова отпадает. Но предполагаю, вместо того, чтобы убивать, его можно сворачивать. Кто-нибудь знает, какая shell-команда Android отвечает за сворачивание запущенного приложения?
Решил рискнуть и попробовать удалить InCallUI - не удаляется даже под рутом и никакими деинсталлерами. Так что вариант с ежедневной автоматической установкой/удалением UnCallUI уже представляется чем-то слишком сложным ... но тем не менее может есть такая shell-команда (в MacroDroid - программа для создания скриптов автоматизации) - чтобы это делалось под рутом?
Меня интересует, что делает процесс InCallUI в операционной системе Android. Я так понимаю, это стандартная звонилка - которая собственно и отображает экран при входящем вызове, который невозможно свернуть.
Пробовал останавливать, не помогает - все равно входящие вызовы отображаются. Пробовал в том числе тасккиллерами, причем запрограммированными на остановку процесса InCallUI во время входящего вызова.
Можно попробовать вообще удалить это приложение InCallUI но стремно как-то ... не получится ли так, что вообще телефон не будет принимать входящие вызовы ... неужели нельзя как-то залезть в него в ресурсы и прописать чтобы экран входящего вызова не отображался в определенное время?
Нужно нормальное техническое решение вопроса - чтобы телефон в нерабочее время вел себя как ему полагается - без входящих вызовов по работе и без различных уведомлений, связанных с работой.
Чтобы можно было нормально пользоваться всеми остальными функциями телефона.
>Как вариант ,предложите платные звонки Вам по номеру 8809 или платную поддержку по тройному тарифу в нерабочие часы.
Нифига никто не готов платить по тройному тарифу в выходные дни. Все хотят быстро, дешево, качественно. Чтобы все было и чтобы им за это ничего не было :)
Да и работать в выходной день особо не всегда хочется, даже по тройному тарифу.
Допустим, договорились мы с клиентом на удаленное подключение в 12:00 в субботу. Клиент, как всегда, будет готов, например, к 13:45 (у меня не несколько крупных клиентов, а множество мелких клиентов и каждому доказывать как правильно запаришься). А постоянное переписывание и перезваниивание выходной день сделают практически рабочим. Так что и тройной оплаты в некоторых случаях будет мало. Особенно если окажется, что работы на 15 минут. И клиент не захочет платить за 15 минут как за 2,5 часа да еще по тройному тарифу. Клиент воспримет тройную оплату в выходные, скорее всего, именно так - что его обдирают.
В рабочие дни это особо не проблема. Ну договорились с клиентом на 12 часов, он готов в 13:45. Это время можно занять чем-то полезным - например, выполнением какой-то другой работы.
Поэтому чем портить нервы с клиентами в выходные дни - проще не брать трубку. Рабочие часы-то указаны - так что никакого нарушения договоренностей с моей стороны нет.
>Естественно оговаривайте с клиентами : я 17-00 до 7:59 трубки не беру и горите в аду, даже если всё накрылось.
Ну так это (рабочие часы) и так указано. Писать что-то сверх излишне по-моему.
Не говоря о том, что писать "горите в аду" - это значит отпугивать клиентов, так не пойдет.
>Думаю поток звонков и клиентов сразу упадёт.
А не нужно чтобы поток клиентов падал.
К тому же количество звонков в нерабочее время упадет, но не до нуля.
Нормальные клиенты и так в нерабочее время не звонят. Тем не менее, всегда найдется тот, кто позвонит в нерабочее время. И так несколько раз в неделю уже. Задолбало если честно.
Если клиентов 2000, например (и все они из разных регионов) - всегда у кого-нибудь что-нибудь накроется в 22 часа и он решит что это именно тот случай, когда можно сделать исключение и позвонить - вопрос ведь срочный.
Если я пользуюсь телефоном как книжкой в нерабочее время - хочется чтобы телефон себя и вел именно как книжка - то есть без лишних уведомлений, SMS и звонков в нерабочее время.
>Ставя себя на место заказчика, я бы на второй день разорвал контракт, если бы мои звонки фачили и график работы подрядчика не был бы оговорен в контракте.
Часы работы как раз указаны, речь идет о звонках в нерабочее время.
А чтобы без необходимости не раздражать заказчика (пусть он 10 раз не прав и звонит в 22 часа - не хочется в случае его возмущения перед ним оправдываться и доказывать, что он не прав) нужно чтобы звонки не сбрасывались, а сворачивались в фон. Тогда получается, я тут ни при чем (специально звонки не сбрасывал, но не контролирую телефон в нерабочее время).
Вот и ищу техническое решение. Чтобы избавиться от необходимости таскать 2 телефона (это дополнительный вес, что критично особенно в летнее время) и платить за 2 Интернет-тарифа.
При входящем вызове в нерабочее время на экране и в верхней панели вообще ничего не отображается, но в пропущенных вызовах все фиксируется.
Никаких дополнительных услуг операторов не подключал, ни за что дополнительно не нужно платить, что радует.
Можно пить шампанское. Решил вопрос, который мучал меня с 2014 года.