こんにちは、位置情報アプリケーションを持っています。位置情報を 1/2 時間に 1 回サーバーに更新していますが、2.2 および 2.3 の Android バージョンを使用して値をサーバーに投稿します。3.0以降では、GPS座標を取得していて、値をサーバーに投稿していません。なぜそれが起こっているのか誰にも言えませんか? しかし、それはうまく機能し、2.2 と 2.3 のサーバーに値を投稿します!
コード:
public class MainActivity extends Activity {
String Message;
DefaultHttpClient httpclient;
HttpPost httppost;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GetServerResponseRawString();
}
private String GetServerResponseRawString() {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("imei", "400098890098"));
nameValuePairs.add(new BasicNameValuePair("location", "13.116,80.208"));
nameValuePairs.add(new BasicNameValuePair("latitude", "13.116"));
nameValuePairs.add(new BasicNameValuePair("longitude", "80.208"));
// nameValuePairs.add(new BasicNameValuePair("logdate", "30-04-2013"));
return GetServerResponseRawString(
"http://197.168.1.1:90/LogGeo.aspx", nameValuePairs);
}
public String GetServerResponseRawString(String str_Url,
List<NameValuePair> nvp_Parameter) {
String str_Response = "";
try {
HttpResponse response;
this.httpclient = new DefaultHttpClient();
this.httppost = new HttpPost(str_Url);
this.httppost.setEntity(new UrlEncodedFormEntity(nvp_Parameter,
HTTP.UTF_8));
response = this.httpclient.execute(this.httppost);
if (response != null
&& response.getStatusLine().getStatusCode() == 200) {
BufferedReader reader = new BufferedReader(
new InputStreamReader(
response.getEntity().getContent(), "UTF-8"));
StringBuilder builder = new StringBuilder();
for (String line = null; (line = reader.readLine()) != null;) {
builder.append(line).append("\n");
}
Message = builder.toString().split("<")[0];
str_Response = builder.toString();
return str_Response;
}
} catch (Exception e) {
String str_e = e.toString();
return str_Response;
}
return str_Response;
}
}
XML :
<uses-permission android:name="android.permission.INTERNET" />
ありがとうございました..!