ここに投稿された例を使用して、毎分バックグラウンド アラームを実行しています。
実際のアラームは 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を停止しますか?