_statusCode = 1000
_のonAddGeofencesResult(int statusCode, String[] geofenceRequestIds)
コールバックでエラーが発生しています。
GPSを有効にしてWiFiを使用しています。また、Google Play Servicesがあり、現在地を追跡して更新をリクエストすることができます。なぜジオフェンスを追加できないのですか?ドキュメントサンプルアプリからでもジオフェンスを追加できません。次のトーストメッセージが表示されます。
「ジオフェンスの追加:失敗、エラーコード1000 GeofenceRequestIds = [1,2,1,2]」
ドキュメントから(statusCode 1000):
_public static final int GEOFENCE_NOT_AVAILABLE
_
ジオフェンスサービスは現在利用できません。通常、これはユーザーが[設定]> [位置情報アクセス]で位置情報アクセスをオフにしているためです。
定数値:1000(0x000003e8)
GEOFENCE_NOT_AVAILABLE
(コード '1000')ユーザーが[設定]-> [位置]-> [モード]で[Googleの位置情報サービスを使用]に同意しない場合:
修正するには:
エミュレータでこのアプリを実行しようとしたときに、statusCode 1000を取得していました。これを修正したのは、設定->場所とアクセス->エミュレータのWiFiとGPSを有効にするオプションをチェックすることでした。
少し後ですが、たった今この問題がありました。私の推測は:
テストで任意の種類の偽のGPS(Lockito、エミュレーターなど)を使用していますか?
偽の場所がGeofenceサポートを無効にしているように見えるまで、私は数時間かかります!実際にその場所にいない場合は、ジオフェンスを登録またはトリガーできません。
偽のGPSをオフにすると、ジオフェンスのサポートが再び有効になります。
Androidの設定が大幅に変更されたため、この回答を投稿しました。API28を実行しているNexus 5Xエミュレーターを実行しているときにこのエラーが2回発生しました。 :
これらの手順を実行した後、アプリケーションを再度オンにして、ジオフェンスの追加が機能しました。
編集:数か月後に再びこの問題に遭遇しました。時々、エミュレータが頑固で、GoogleのGeofence APIがオンになっていることを認識できるように、実際に位置精度を正しくオンにしないことがあります。ロケーション精度が機能する前に、「ロケーション精度の改善」を少なくとも10回オンおよびオフにしていました。
あなたは実際にあなたの質問で答えを与えました:ジオフェンスサービスは現在利用できません。通常、これはユーザーが[設定]> [位置情報アクセス]で位置情報アクセスをオフにしているためです。
私はこれと同じ問題を抱えていましたが、単に設定->場所に移動し、高精度のモードを選択することでこの問題を修正しました。
PSデバイスのみのモードでは不十分です。高精度モードである必要があります。
お役に立てれば。
私は愚かな間違いをしました:
デバイスにGPS(位置情報サービス)の許可がないため、エラーが発生しました。
Geofencing APIの詳細 here 。
参考のためのスクリーンショット:
これがあなたを明確にすることを願っています。
まず、お使いの携帯電話には互換性が必要です:A compatible Android device that runs Android 2.2 or higher and includes Google Play Store.
念のため、Google Playサービス 正しくインストール が必要です。
電話機を再起動するだけでこの問題を解決できる場合があります。
この助けを願っています。