現在のプロジェクトでは、スマートフォンをサーバーとして使用しています。を介して特別なカードまたはタグが検出されると、サーバーが起動されNFC
ます。これが機能する部分です。
これを実現するためにAsyncTask
、タグがスキャンされると開始される を使用しています。問題は、彼が現在呼び出しているときにサーバーを停止できないことですServerSocket.accept()
。AsyncTask.cancel(true)
彼が接続要求を待っている間、呼び出しはサーバーを停止しません。
ある時点でサーバーを停止したい場合、どうすればよいですか?
今のところ、私はまったく無知です。私の唯一のアイデアは、サーバーソケットのタイムアウト時間を設定して、例外をスローすることでした。ServerSocket.accept()
しかし、それはこれを行う唯一の方法ではないポーリングを意味しますか? もしそうなら、それは私の目にはかなり貧弱な解決策になるでしょう...