чисто только за управление Bluetooth на android-устройстве. Хотел бы написать два метода, которые:
Первый будет включать или выключать Bluetooth и при этом что-бы возвращал true либо false, в зависимости от успеха включения.
Второй будет осуществлять поиск устройств и возвращать список найденных устройств. Со вторым методом я так понял не все так гладко, потому как на поиск затрачивается время, а метод выполняется полностью и сразу. Потому я думаю в таком случае использовать callback-функцию. А вот с первым проблема тоже кроется в том, что включение Bluetooth выполняется при помощи интента, то есть:
Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
context.startActivity(intent);
А тут либо в Activity придется переопределять метод onActivityResult(), а я не хотел бы этого делать, потому как хотелось бы сделать классы независимыми друг от друга, следуя принципам инкапсуляции.
Как бы грамотнее это все можно было оформить? Не хочу все нагромождать в одной активности -- это неправильно!
Заранее большое спасибо тем, кто решил помочь! Всем добра и успехов вам!
Никакой инкапсуляции, это же андроид. :) Если классу нужно отправитm Intent и принять результат — пусть принимает requstCode в конструктор. А в активити, в onActivityResult, пусть вызываются onActivityResult всех таких объектов, пока не найдётся тот, кто осмелится обработать результат. (chain of responsibility)
Обсуждают сегодня