表題のエラーの解決策です。
原因としては、本来Toastはメインスレッドでのみ実行できる仕様ですが、サブスレッドで実行してしまっていることです。
解決策はHandlerを使ってメインスレッドで実行するように変更すればOKです。
以下、具体例です。
修正前
1 | ExecutorService executor = Executors.newSingleThreadExecutor(); |
修正前
1 | final Handler handler = new Handler(); |
handler.postの処理はnew Handler()したスレッドで実行されるのでnew Handler()はメインスレッドで実行する必要があります!
Android開発は非同期処理が鬼門ですよね、、
おわり