13

ジオコーダ・サービス。残念なことに、このメソッドはIOException saying: "Service not Available"を起動します。ジオコーダ・サービスは利用できません

This StackOverFlow threadは、私が徹底的にテストしたため(ユーザー権限、ビルドバージョン、再起動、ジオコーディングAPI制限など)、何が起こっているのかを説明しています。

Android設定 - >(管理)アプリケーション - >プロセスの実行中に表示されるGoogle Play-Services(またはLocationService)がクラッシュまたは停止しました。再起動しますが、GeoCoderServiceをNetworkLocatorにバインドすることは忘れてしまいます。

このバグの「解決策」は、再起動時にGeoCoderServiceがNetworkLocaterにバインドされるため、Androidの電話機を再起動することです。 もちろん、これは解決策ではありません。

QUESTION

私の質問はどのようにLocationServiceがクラッシュしないか、最初の場所で停止します、ありますか?

私がしたことは、Google Playサービスを手作業で強制停止し、一部の端末がLocationServiceを再起動したものの、一部の端末が再起動しなかったことです。

機能していない(LocationServiceを再起動しませんでした)

  • 4.0.3三星銀河(注)(GT-N7000)
  • 4.0.4サムスンのタブレットGT-P7100
  • 4.1.2ネクサスS
  • 4.1.2三星ギャラクシーS III(GT-I9300)

WORKING(LocationServiceを再起動しました)

  • 2.3.5 HTC Wildfired S
  • 4.0.3エイサーA500
  • 4.1.1三星銀河(注)II(GT-7100)
  • 4.1.2サムスンギャラクシーS II(GT-I9105P)
  • 4.2.2サムスンタブレットGT-P7500
  • 4.2.2ネクサス7
  • 4.3ギャラクシーネクサス

Google Playサービス(LocationService)がしばらくの間実行された後にクラッシュしたり停止したりする理由を知っている人はいますか?

私は既にこの問題をb.Android.comと個人的に連絡を取り合っているAndroid開発者にエスカレートしました。

私は私の問題は、他のスレッドで議論されてきたが、いずれかの結論引っ張っていなかったことを見てきました:

+0

は、それは私が起こる願って私のために働いたとお [StackOverflowのリンク] [1] [1]:http://stackoverflow.com/questions/15110528/service-not-利用可能呼び出し中ジオコーダ - getfromlocation – ArhatBaid

答えて

1

あなたが追加することができますサムスンギャラクシーS IIとをAndroid 4.1.2〜NOT WORKINGリストこれは厄介なバグです。GMaps APIに直接的にアクセスすることが回避策です。私の視点からは、ユーザーがビルドインタスクマネージャーを使用してすべてのアプリケーションを強制終了してリソース/メモリを解放すると発生します。

0

Manege Appsで「ネットワークロケーション」サービスを再起動してください。

2

一部のデバイスにはジオコーダのためのsuportがありません。したがって、独自のジオコーダを作成する必要があります。

基本的には、非同期タスクを作成してアドレスのGoogleをリクエストし、jsonレスポンスを処理する必要があります。 aqueryを使用して

、私はこのような何か:

public void asyncJson(String address){ 
     address = address.replace(" ", "+"); 

     String url = "http://maps.googleapis.com/maps/api/geocode/json?address="+ address +"&sensor=true"; 

     aq.ajax(url, JSONObject.class, new AjaxCallback<JSONObject>() { 

       @Override 
       public void callback(String url, JSONObject json, AjaxStatus status) {       

         if(json != null){ 

           //here you work with the response json 
           JSONArray results = json.getJSONArray("results");        
           Toast.makeText(context, results.getJSONObject(1).getString("formatted_address")); 

         }else{         
           //ajax error, show error code 
           Toast.makeText(aq.getContext(), "Error:" + status.getCode(), Toast.LENGTH_LONG).show(); 
         } 
       } 
     });   
} 
0

を、私はそれを解決するための権限の下に追加し、同じエラーが発生しました。再び

<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
2

再起動デバイスのチェックが(私は同じ問題に直面しています。)

関連する問題