を書く私はここに掲載の例を使用して毎分を実行しているバックグラウンドアラームを持っています。アンドロイド - AsyncTaskソケットがタイムアウト
(私はネットワークトランザクションをしていますので)私の実際のアラームが見えると、AsyncTaskを起動しますこのように:
Socket sock = new Socket("hostname.com", 1234);
OutputStream out = sock.getOutputStream();
String data = "beth";
out.write(data.getBytes());
sock.close();
ネットワーク接続が不安定な場合には、このタイムアウトを作るための最も簡単な方法は何ですか?私はすでに電話が無線LANに接続されているかどうかをチェックしています。
setSoTimeoutは私が使いたいものと似ていますが、コンテンツを受信しているソケットにしか見えません。接続に失敗した場合、数秒後に接続を諦めてください。最初のコメントを受けて
:
私が実行していた前に:
new Checkin().execute();
私は今実行してください:
new Checkin().get(10000, TimeUnit.MILLISECONDS);
10秒後にタイムアウトするには?これで10秒後にasynctaskが停止しますか?
この質問はあなたを助けることができます: http://stackoverflow.com/questions/7882739/android-setting-a-timeout-for-an -asynctask – kmb64
ありがとう!上記の私の追加したコードを見てください - これは私が欲しいものを達成するための適切な方法ですか? – xur17
上記のコードを試しましたが、asynctaskをまったく実行していないわけではありません。私はここで何か誤解していますか? – xur17