この質問は重複している可能性がありますが、満足のいく答えが得られていないため、ここで問題を投げかけています。ジオコーダーを使用して現在の場所の緯度と経度を取得しようとしています.2日前に緯度と経度を取得できましたが、今日例外が発生しました: java.io .IOException: サービスが利用できません
これが緯度と経度を取得しようとしている方法です
//**current latitude and longitude
try{
lm = (LocationManager) RestaurantDetail.this.getSystemService(Context.LOCATION_SERVICE);
criteria = new Criteria();
bestProvider = lm.getBestProvider(criteria, false);
location = lm.getLastKnownLocation(bestProvider);
}
catch(Exception e){
Log.e("Finding Current Location:",e.toString());
}
if (location == null){
Toast.makeText(RestaurantDetail.this,"Location Not found",Toast.LENGTH_LONG).show();
}else{
try {
geocoder = new Geocoder(RestaurantDetail.this);
user = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 1);
lat=(double)user.get(0).getLatitude();
lng=(double)user.get(0).getLongitude();
lat1=lat;
long1=lng;
Log.e("Latitude:","Current:"+lat1+""+long1+"\n"+"add"+lat2+""+long2);
try{
float results[] = new float[3];
Location.distanceBetween(lat1,long1,lat2,long2, results);
float distance = results[0];
distance=(float) ((distance)*0.000621371);
Tv_restorentdetail_disData.setText(""+distance+"miles");
}catch(Exception e){
Log.e("Counting Distance Exception:",e.toString());
}
}catch (Exception e) {
e.printStackTrace();
Tv_restorentdetail_disData.setText("Service Not Available");
}
私のプロジェクト バージョンは 4.0 で、Google API を使用しています。Samsung タブで Android バージョン>4.0 のプロジェクトをテストしています。マニフェスト ファイルに与えた許可のリストを次に示します。
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
どんな助けや提案も感謝します。