バックグラウンド アプリケーションにタイマー タスクを実装しました。
現在の緯度と経度を収集しました。30秒ごとにサーバーに送信します。
以下のコードを使用して、情報をサーバーに送信しました。正常に送信されます..
私の問題は、10 分間確認した後、送信できないことです。No Network エラーをスローします。ブラウザもチェックしましたが、ネットワークはありません。
デバイスをリセットすると、再び正常に機能します。しかし、5分または10分後に同じ問題が発生します。
これを解決するには?
私のコードは、
try
{
StreamConnection connection = (StreamConnection) Connector.open(url+suffix);
((HttpConnection) connection).setRequestMethod(HttpConnection.GET);
int responseCode = ((HttpConnection) connection).getResponseCode();
if (responseCode != HttpConnection.HTTP_OK) {
showDialog("Unexpected response code :"+ responseCode);
connection.close();
return;
}
((HttpConnection) connection).getHeaderField("Content-type");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
InputStream responseData = connection.openInputStream();
byte[] buffer = new byte[1000];
int bytesRead = responseData.read(buffer);
while (bytesRead > 0) {
baos.write(buffer, 0, bytesRead);
bytesRead = responseData.read(buffer);
}
baos.close();
connection.close();
String s = new String(baos.toByteArray());
showDialog("Responce from server "+s);
}
catch (IOException e)
{
}