Моя проблема заключается в том, что я хочу подключиться к устройствам BLE с их логикой в библиотеках .jar из службы (которая выполняется как отдельный процесс). В настоящее время я столкнулся со следующей ошибкой. LogCat сообщение:Android подключается к устройству BLE из службы (начинается с загрузки)
05-19 17:46:45.107 14191-14203/com.<name>.rnd.erservice E/JavaBinder: *** Uncaught remote exception! (Exceptions are not yet supported across processes.)
java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
at android.os.Handler.<init>(Handler.java:200)
at android.os.Handler.<init>(Handler.java:114)
at com.slsi.<name>.<name>.<init>(<name>.java:94)
at com.<name>.rnd.erservice.device.<name>.<init>(<name>.java:28)
at com.<name>.rnd.erservice.AppService$2.connectToDevices(AppService.java:184)
at com.<name>.rnd.servicelibrary.IRemoteProductService$Stub.onTransact(IRemoteProductService.java:67)
at android.os.Binder.execTransact(Binder.java:461)
Кажется, что мне нужно, чтобы начать это соединение с UI нити или нити с обработчиком, но не должна быть никакой прямой связью между приложением и удаленным обслуживанием (вид API вызовов для обслуживания и получения результата). Спасибо
Благодарим за ответ. Вот что я пробовал: 'if (Looper.myLooper() == null) { Looper.prepare(); } handler = new Handler(); Runnable task = new Runnable() { @Override public void run() { // Делаем здесь какую-то работу new Thread (task) .start(); Looper.loop(); ' Но это все еще не работает. Извините, может быть, мне не хватает чего-то действительно простого, я новичок в Android –
Материал петлителя должен быть выполнен во внутренней резьбе. – Emil
это не помогает. –