0
私の問題は、サービスからの.jarライブラリ内のロジックを持つBLEデバイスに接続することです(別のプロセスとして実行されます)。現在、私は次のエラーに直面しています。 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(); } ハンドラ=新しいハンドラ(); 実行可能タスク=新しいRunnable()@Override public void run(){ //ここでいくつかの作業を行います。 新しいスレッド(タスク).start(); Looper.loop(); ' それでも動作しません。申し訳ありませんが、私は何かが本当にシンプルに欠けている、私はAndroidの新しいです –
ルーパーのものは内のスレッドで行う必要があります。 – Emil
これは役に立ちません。 –