2012-02-22 10 views
1

私の現在の場所を取得することはできませんでしたが、ほとんどの電話では失敗しました。 次はmycodeです:アンドロイドは現在の場所を取得できませんでした

public Location getLocation(Context context) 
{ 
    LocationManager locMan = (LocationManager) context 
     .getSystemService(Context.LOCATION_SERVICE); 
    Location location = locMan 
     .getLastKnownLocation(LocationManager.GPS_PROVIDER); 
    if (location == null) 
    { 
     location = locMan 
      .getLastKnownLocation(LocationManager.NETWORK_PROVIDER); 
    } 

    return location; 
}  
+1

It * failed * thats ** VERY **役に立つ。 – JoxTraex

+0

詳細が必要です。マニフェストに必要な権限を追加しましたか? – Tony

+0

何かエラーがあります..もしそうなら、スタックトレースを貼り付けてください。 – Chet

答えて

0

は、マニフェストファイルで許可ACCESS_FINE_LOCATIONを追加

2

これは... locationmanagerがあなたの最後の場所を持っていない可能性があります使用してみてください

/** *この関数は、ロケーションマネージャをインスタンス化し、GPSプロバイダにバインドするために使用されます。 *ロケーションマネージャーは5分ごとに位置の更新を要求します。 */

private void subscribeToLocationUpdates() { 
     this.lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
     this.lm.requestLocationUpdates(LocationManager.GPS_PROVIDER,5000, 0, this); 
} 

public void onLocationChanged(Location location) { 
    if(location != null){ 

     //make use of this location 

    }  
} 
2

まず、あなたは正しい許可を設定しましたか?場所のアクセス許可は暗黙的なものであるため、細かい場所を要求すると粗いものになります。

あなたの現在地を取得するためのガイド(this)に従っていますか?

通常、現在のロケーションを取得するたびにLocationServiceを設定しません。自分で位置情報の更新をリクエストしようとしましたか?

コードがあまりにも少なく、本当にお手伝いするにはあまりにも不明な点があります。申し訳ありません。

+0

私はちょうど現在の場所を取得するwan't、更新された場所を取得する必要はありませんが、いくつかの簡単な機能は、場所を取得しますか? – user1104578

関連する問題