Comments 17
Интересная задумка, но мне кажется будет неудобно каждый раз вручную запускать приложение для запуска сервиса. Может стоит подумать о реализации автозагрузки сервиса при перезапуске устройства?
Жаль нельзя поставить автоответчик на незнакомый номер: "Ваш звонок не санкционирован, пожалуйста назовите имя абонента и цель вашего звонка."
А лучше автоответчик с вопросами типа - Назовите последние две цифры номера с которого вы звоните.
А лучше автоответчик с вопросами типа - Назовите последние две цифры номера с которого вы звоните.
"Наберите код, который вам сообщил абонент".
Вообще - автоответчик возможен. Но, увы, внешний - я такой сервис себе из Asterisk и bluetooth модуля склепал. Подключается к телефону вместо гарнитуры, берет звонок и далее - "Нажмите 1 если..." (Был, кстати, уверен, что кто-то промышленно такие bluetooth "гарнитуры" производит - но моих способностей к поиску не хватило, чтобы найти)
Я подозреваю, что это возможно и прямо на телефоне, но придётся очень долго модели искать, которые позволяют аудио звонка обрабатывать.
Все хорошо в этой статье, кроме видео на рутубе. Я такого количества рекламы последний раз видел году в 14. Еще и реклама после просмотра, для послевкусия отечественного сервиса 💀
Можно, пожалуйста, так больше не делать и загружать видео на нормальные хостинги. Все таки технический сайт, все знают как включить «то о чем нельзя говорить»
Респект автору! Может я не разглядел реализацию, но:
запросы вроде как отправляются синхронно - в main-потоке - если так, то не хорошо
библиотеку для запросов какую-нибудь заиспользовать, в зависимости от выбора технологии для ассинхронщины
Запросы отправляются в отдельном потоке благодаря ExecutorService
private String fetchPhoneData(String phoneNumber) {
ExecutorService executorService = Executors.newSingleThreadExecutor();
Future<String> future = executorService.submit(() -> {
HttpRequestHandler handler = new HttpRequestHandler();
return handler.executeGetRequest(phoneNumber);
});
try {
return future.get();
} catch (InterruptedException | ExecutionException e) {
return e.toString();
} finally {
executorService.shutdown();
}
}
Один момент. Твой код не гасит этот поток запроса на сайт. Будешь долбить сайт пока программа активна. Для проверки поставь delay в потоки и сделай две textview с присвоением текста textview в этом потоке и ещё одном по очереди раз в 5 сек. А всего тебе понадобится три потока. В третьем в активити ты будешь присваивать текст textview. Читай документацию дальше(это не издёвка, просто вдруг ты найдешь другое решение, чем у меня). Я не эксперт как автор, просто делаю прод для себя. После 50 лет тяжко найти работу :). А вообще тебе лучше сделать базу Mysql, один раз в неделю ее заливать и обновлять. Сайт может потечь, если программа станет популярной. Я сейчас решаю подобную задачу. Но побольше масштабов.
Спасибо за отзыв!
Ваша реализация на любой версии Андроид работает? Интересуют версии Андроид 10+
Пишем Android приложение для фильтрации спам-звонков