Страница 11 из 90

Re: Android приложение

Добавлено: Пт окт 24, 2014 6:55 am
ErmolenkoM
Galakart писал(а):Кстати, кто-нибудь вообще пользуется функцией GPS в этой программе? Не совсем она стабильная сейчас.
Я пробовал. Наблюдаю переодические остановки в отправке координат. Вернулся к BB.

Re: Android приложение

Добавлено: Пт ноя 07, 2014 1:01 pm
Bagir
Я тоже пробовал, но увы, батареи и так хватает на день с натягом в режиме жуткой экономии. При включении GPS убила за пару часов. Но все же расход большой. А вот принудительная отправка координат кнопкой - дело интересное.

Re: Android приложение

Добавлено: Пт ноя 14, 2014 12:40 am
dimik
Извиняюсь что не в тему, но увидел здесь такое:
Vit писал(а):
msh555 писал(а):Только сейчас увидел, что тема про Андроид-приложение, а не про Таскер. Ну да ладно, раз начали...

Нужно понять что происходит: либо с таскера не передается переменная, либо она пустая.
Создай свою переменную в таскере, заполни ее чем-нибудь (например "Privet eto test") и передай ее. В методе напиши что-то типа
say($params['command']);

У меня переменные нормально передаются (передавал уровень заряда, координаты) именно %CNAME не пробовал, может есть какие особенности, это надо в помощь таскера идти или на форум.
попробовал....

не говорит...
т.е. пустое походу значение...

say пустое
В Taskere command=77 (жестко забито)
А Алиса молчит. Пустота приходит.
Причем если все это набрать в браузере с command=77 Алиса как и положено 77 скажет.
что не так то?

Re: Android приложение

Добавлено: Пт ноя 14, 2014 6:47 am
ErmolenkoM
dimik писал(а): В Taskere command=77 (жестко забито)
А Алиса молчит. Пустота приходит.
Причем если все это набрать в браузере с command=77 Алиса как и положено 77 скажет.
что не так то?
http://smartliving.ru/Main/ScAndroidTasker

Re: Android приложение

Добавлено: Пт ноя 14, 2014 8:26 am
dimik
Спасибо за наводку. Почитал.
В задаче надо создавать не HTTPPost а HTTPGet тогда все работает

Re: Android приложение

Добавлено: Сб янв 10, 2015 10:58 am
sergejey
Приветствую!

Если вдруг появится возможность доработки приложение, то есть ещё одно пожелание -- возможность активировать голосовой запрос извне через отправку по сети какого-то пакета. Например, я посылаю "hi" на какой-то tcp-порт, прослушка которого запускается в приложении и приложение активирует тоже действие, что и по кнопке вызова голосового ввода. Желательно без вывода ошибок, если ничего не было распознано (оригинальная идея отсюда, но не хочется ради такой полезной фишки таскер использовать).

Re: Android приложение

Добавлено: Сб янв 10, 2015 1:40 pm
Bagir
Точно! Если ничего не распозналось, ошибку не нужно передавать. Я тоже в это уперся. Сейчас моя програмуль передает текстом слово sNULL, но практика показывает, что это не требуется. Способ повторного запуска сессии распознавания позволит сделать продолжение диалога со стороны Алисы.
Есть еще один моментик. Гугль отправляет процент вероятности. Его тоже можно передавать. Причем, если ничего не говорить, процент у меня всегда 0. Если этот процент тоже передать отдельным параметром, по нему можно будет делать вывод о молчании. Да и мало ли еще для чего пригодится.

Re: Android приложение

Добавлено: Пт янв 23, 2015 6:14 pm
sergejey
Засучив рукава начал разбираться с программированием под Android и в исходниках, благо приложение есть на GitHub, что очень здорово!

Промежуточный итог: http://c2n.me/3b26JBU.apk

Эта версия при старте создаёт сервис на порту 7999 и может принимать команду "hi", по которой автоматически запускается распознание речи, т.е. можно для диалогов обойтись без tasker-а.

Пример скрипта для активации запроса:

Код: Выделить всё

$address='192.168.0.47'; // здесь IP-адрес телефона/планшета
$service_port='7999';
$in='hi';

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
    echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "<br/>\n";
    return 0;
}
$result = socket_connect($socket, $address, $service_port);
if ($result === false) {
    echo "socket_connect() failed.\nReason: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
    return 0;
}
socket_write($socket, $in, strlen($in));
socket_close($socket);
 
Ещё в этой версии добавил 30 секундный таймаут, так что если ничего не распознано, то не будет висеть окно с ошибкой, а закроется через 30 секунд само.

Попробую ещё несколько вещей и со временем отправлю pull request-ом в оригинальное приложение, чтобы со временем обновить в маркете.

Re: Android приложение

Добавлено: Пт янв 23, 2015 8:33 pm
Vit
Сереж поставил, работает.... а как ты диалог теперь активируешь? как то можно через шаблоны этот hi отправлять или по каким то критериям?

Re: Android приложение

Добавлено: Пт янв 23, 2015 9:16 pm
sergejey
Виталь, можно этот код вынести в отдельный сценарий и вызывать его через runScript в коде шаблона/контекста, ну а последний активировать через context_activate при случае.