3

ここに投稿された例を使用して、毎分バックグラウンド アラームを実行しています。

アラーム マネージャの例

実際のアラームは AsyncTask を起動します (ネットワーク トランザクションを実行しているため)。これは次のようになります。

Socket sock = new Socket("hostname.com", 1234);
        OutputStream out = sock.getOutputStream();
        String data = "beth";
        out.write(data.getBytes());
        sock.close();

ネットワーク接続が不安定な場合に、このタイムアウトを発生させる最も簡単な方法は何ですか? 電話がwifiに接続されているかどうかを確認しています。

setSoTimeout は私が使用したいものと似ていますが、コンテンツを受信して​​いるソケット専用のようです。接続に失敗した場合、数秒後に接続を断念します。

最初のコメントへの応答:

私が走っていた前に:

new Checkin().execute();

私は今実行しますか:

new Checkin().get(10000, TimeUnit.MILLISECONDS);

10秒後にタイムアウトするには?そして、これは10秒後にasynctaskを停止しますか?

4

1 に答える 1