0
AndroidのLocationManagerに問題があります。私は次のクラスを持っています:Androidロケーションマネージャがメソッドを呼び出さない
package com.flyer;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.Toast;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import org.json.JSONArray;
import org.json.JSONObject;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class ContentProvider implements LocationListener {
private Activity connectedActivity;
public ContentProvider(Activity connectedActivity) {
this.connectedActivity = connectedActivity;
LocationManager locationManager = (LocationManager)connectedActivity.getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 100, 0, this);
}
public void onLocationChanged(Location loc)
{
MyActivity.rowsData.add(new RowData(0, "Test", "Val: " + Math.random(), 0));
}
public void onProviderDisabled(String provider)
{
Intent in = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
connectedActivity.startActivity(in);
}
public void onProviderEnabled(String provider)
{
Toast.makeText(connectedActivity.getApplicationContext(),
"Gps Enabled",
Toast.LENGTH_SHORT).show();
}
public void onStatusChanged(String provider, int status, Bundle extras)
{
MyActivity.rowsData.add(new RowData(0, "Test", "Val: "+Math.random(), 0));
}
}
私は主な活動の中でコンストラクタContentProvider(this)を呼び出します。しかし、私がエミュレータにtelnetして地理的修正を行うと、何も起こりません。
コンテンツをブレークポイントで設定しようとしましたが、到達しません。
また、Android 2.1用に開発しています。
ご協力いただければ幸いです。
警告行き方:
10-30 21:10:38.787: WARN/GpsLocationProvider(52): Could not open GPS configuration file /etc/gps.conf
私は権限を追加しました。私は警告を得て、OPに追加します。 Furter、関連するエラーは見つかりません。 – RobotRock
そのエラーをGoogleで検索すると、エミュレータで場所を設定する必要があることが示されます。http://groups.google.com/group/android-framework/msg/f94e0bbb227c03c6実際の携帯電話と問題はありません... –
2台の電話機でテストし、onProviderDisabledとonProviderEnabledを取得しますが、onLocationChangedには到達しません。どういうわけか、それはまだ適切に動作していない、何か考えですか? – RobotRock