0

Androidで位置情報コードを作成しようとしています。エミュレーターで結果を取得しているにもかかわらず、logcat ウィンドウで次のエラーが表示されます。

07-12 10:45:24.300: E/ActivityThread(237): Failed to find provider info for com.google.settings
07-12 10:45:24.310: E/ActivityThread(237): Failed to find provider info for com.google.settings
07-12 10:45:24.371: E/ActivityThread(237): Failed to find provider info for com.google.settings
4

2 に答える 2

0

それは一種の動作をしましたが、今私は次のエラーがあります:

07-13 01:37:07.171:E / QemuSensors(333):data_ poll:len = -1、errno = 9:不正なファイル番号07-13 01:37:07.171:E / QemuSensors(333):data _poll: len = -1、errno = 9:不正なファイル番号07-13 01:37:07.211:E / QemuSensors(333):data_ poll:len = -1、errno = 9:不正なファイル番号07-13 01:37: 07.211:E / QemuSensors(333):data _poll:len = -1、errno = 9:不正なファイル番号07-13 01:37:07.211:E / QemuSensors(333):data_ poll:len = -1、errno = 9:不正なファイル番号07-13 01:37:07.211:E / QemuSensors(333):data _poll:len = -1、errno = 9:不正なファイル番号07-13 01:37:07.511:E / QemuSensors(333 ):data_ poll:len = -1、errno = 9:不正なファイル番号07-13 01:37:07.646:E / QemuSensors(333):data _poll:len = -1、errno = 9:不正なファイル番号07- 13 01:37:07.646:E / QemuSensors(333):data_poll:len = -1、errno = 9:不正なファイル番号07-13 01:37:07.661:E / QemuSensors(333):data _poll:len = -1、errno = 9:不正なファイル番号07-13 01: 37:07.661:E / QemuSensors(333):data_ poll:len = -1、errno = 9:不正なファイル番号07-13 01:37:07.670:E / QemuSensors(333):data _poll:len = -1 errno = 9:ファイル番号が正しくありません

これがコードです

    package com.android.map;

    import android.location.Location;
    import android.location.LocationListener;
    import android.location.LocationManager;
    import android.os.Bundle;
    import android.view.KeyEvent;
    import android.widget.Toast;

    import com.google.android.maps.GeoPoint;
    import com.google.android.maps.MapActivity;
    import com.google.android.maps.MapController;
    import com.google.android.maps.MapView;
    import com.google.android.maps.MyLocationOverlay;

     public class HelloGoogleMapActivity extends MapActivity implements LocationListener
     {

 private MapView mapView = null;
 private LocationManager lm = null;
 private double lat = 0;
 private double lng = 0;
 private MapController mc = null;
 private MyLocationOverlay myLocation = null;

@Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);          
    mapView = (MapView) this.findViewById(R.id.mapView);
    mapView.setBuiltInZoomControls(true);

    lm = (LocationManager) this.getSystemService(LOCATION_SERVICE);
    lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10000, 0, this);
    lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 10000, 0, this);

    mc = mapView.getController();
    mc.setZoom(12);
    myLocation = new MyLocationOverlay(getApplicationContext(),mapView); 
    myLocation.runOnFirstFix(new Runnable(){
     public void run(){
         mc.animateTo(myLocation.getMyLocation());
         mc.setZoom(17);
     }
    });

    mapView.getOverlays().add(myLocation);
    myLocation.enableMyLocation();
    myLocation.enableCompass();
}

@Override
protected boolean isRouteDisplayed()
{
    return false;
}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
    if (keyCode == KeyEvent.KEYCODE_S)
    {
        mapView.setSatellite(!mapView.isSatellite());
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

@Override
public void onLocationChanged(Location location) {
    // TODO Auto-generated method stub
    lat = location.getLatitude();
     lng = location.getLongitude();
     Toast.makeText(getBaseContext(),
     "Location change to : Latitude = " + lat + " Longitude = " + lng,
     Toast.LENGTH_SHORT).show();
     GeoPoint p = new GeoPoint((int) (lat * 1E6), (int) (lng * 1E6));
     mc.animateTo(p);
     mc.setCenter(p);
}

@Override
public void onProviderDisabled(String arg0) {
    // TODO Auto-generated method stub

}

@Override
public void onProviderEnabled(String arg0) {
    // TODO Auto-generated method stub

}

@Override
public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
    // TODO Auto-generated method stub

}

}

あなたの助けに感謝します

于 2012-07-13T01:45:08.103 に答える
0

これらのプロバイダーにアクセスするためのアクセス許可をアプリケーションに与えていない可能性があります。

コードを提供していないため、実装はわかりませんが、おそらくインターネット、粗い場所、細かい場所が必要になると思います。念のため、いくつか追加しました。

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
<uses-permission android:name="android.permission.CONTROL_LOCATION_UPDATES" />
<uses-permission android:name="android.permission.INTERNET" />

<application ..>これらをマニフェスト ファイルのタグの直前に配置します。

マップを使用している場合は、これが<application ..>タグ内にあることを確認してください。

<uses-library android:name="com.google.android.maps" />
于 2012-07-12T11:06:33.440 に答える