13 August 2012

Дом-2

А напишу-ка я вот про какую штуку -- про переключение между запущенными приложениями в Android.

В Galaxy S3, разумеется, для этих целей есть встроенное решение, которое не устраивает меня по двум причинам.
Первое -- при переключении пользователю показывают целых три с половиной приложения! Т.е. тут была переплюнута даже Apple со своей пердюшной панелькой, скромно выпрыгивающей внизу экрана. Неудобно до одури.
Второе -- вызывается это чудо долгим удержанием кнопки home. Ключевое слово -- долгим. Я не хочу ждать.


Начал искать альтернативы.
Собственно проблема распадается на две задачи -- найти хороший task switcher. Повесить его на двойное нажатие кнопки home.

Последняя задача легко решается с помощью отличного приложения Home2 Shortcut. Причем приложение позволяет программировать не только двойное нажатие кнопки Home, но и множество других комбинаций (на SGS3 мало полезно, т.к. человеческая аппаратная кнопка там на морде всего одна).
Как я понимаю, взять в оборот кнопку Home в Android довольно просто -- назначаешь следящее за этой кнопкой приложение "home launcher" по умолчанию и рассказываешь ему, что именно ему надо запускать по одиночному нажатию. Все дела.
Единственный нюанс, это когда добрый OEM возьмет и нацепит на двойное нажатие кнопки home какое-то не отключаемое гавно, типа голосового управления (да, я намекаю на SGS2). Слава б-гу, в SGS3 корейцы сделали много добрых дел, в том числе дали возможность много чего отключать -- в частности их локскрин и то самое голосовое управление...

В принципе, практически любой task switcher обычно несет в себе возможность привязаться к кнопке Home, но из моего личного опыта лучше всего это делать через вышеупомянутое приложение -- оно это делает надежно и правильно, ибо видел я всякие глюки, типа слета ассоциации после ребута у PreHome.

Теперь, собственно, о самих "переключателях".

Некоторое время пользовал PreHome -- приложение довольно не хитрое, но свою функцию вроде как выполняющее. Однако, в конце-концов, решил я от него отказаться из-за всяких разных мелких недостатков.
Нет игнор листа. Улетающая после ребута привязка к кнопке Home. Неудачное расположение окна программы -- оно должно быть в самом низу экрана, а не в его центре... Но самое главное, косяк с тем, как этот свитчер восстанавливает программы.
Я сильно не большой знаток по теме разработки под Android, но похоже там есть две возможности запуска программы, одну я условно назвал "restart", вторую -- "resume". Если вы используете первый способ, то программа запустится (или восстановится из фона) в своем первоначальном состоянии. Если второй -- она вернется к вам в том месте, где вы ее оставили в последний раз.
Пример -- видеоплеер, который может после восстановления продолжить играть видео, а может вывалиться на первый экран выбора фильма. Или RSS читалка, которая может открыть последнюю просматриваю подписку или же главный экран со всем фидами... Кстати, проблему эту я раньше наблюдал при работе с ланчером, уж не помню, Nova тогда у меня стояла, или я уже перешел на Go. Поставил я MX Player. Смотришь в нем видео, потом на пару секунд заходишь в твиттер, потом через home возвращаешься на главный экран и тыкаешь в иконку плеера -- а он тебе, вместо возобновления видео, список файлов показывает. Мать-перемать!
Так вот, PreHome почему-то всегда использует метод "restart", что для программы такого рода категорически недопустимо.

Следующая софтина -- beHome. Аскетичная, но расположенная в правильном месте экрана и имеющая игнор лист.
Тут другая проблема -- если ее вызывать извне, не пользуясь ее собственными средствами привязки к кнопке Home, то она частенько не обновляет список текущих задач.
Обидно, вступил в переписку с автором. Может товарищ и исправит.

И еще один кандидат -- Task Switcher. Эта штука очень похожа на beHome, но список задач обычно показывает актуальный (пару раз видел и эту подглючивало). У этой софтины зато есть другой забавный баг: она любую запущенную версию Angry Birds почему-то всегда показывает как Angry Birds Space. Не смертельно, о баге написал автору. Пока буду сидеть на этой штуке.

Хорошо еще отзываются о TaskXP, но эта штука не совместима с моим смартфоном.
Ну и пробовал еще MultiTasking Pro -- у этой классическая проблема resume vs restart.

Мораль?
Тестируйте свои программы на совместимость с Angry Birds, а то это ж срамота выходит какая-то!

No comments:

Post a Comment