2017-11-01 5 views
1

ジオフェンスを使用しているアプリで作業していますが、いくつか問題が発生しています。
私は今までAndroidでテストしてきました。ジオフェンシングを使ってコードネームアプリを作成していますが、しばらくの間バックグラウンドに入ってからコールバックをやめるようです。

a)ジオフェンスを設定して、入力イベントと終了イベントに対して正常にトリガーします。
しかし、長期間(数時間や夜間など)は、アプリが再度開かれるまでイベントが停止します。

b)私の他の問題は、私が全く移動していなくても、間違いなく半径(150m)の外側ではなくても、トリガーと思われることです。

私はhttps://www.codenameone.com/javadoc/com/codename1/location/Geofence.htmlを見ました。私のコードは例に非常に似ています。
バックグラウンドでより正確かつ持続的にするために必要なビルドに関するヒントはありますか?

+0

あなたはどのAndroidバージョンをお使いですか?ジオフェンスを毎回追加するのか、それとも一度だけ追加するのですか?(先ほどジオフェンスが追加されたかどうかを確認してください) –

+0

多くのデバイスでAndroid 6(6.0.1)を試しました。 アプリが実行されるたびにジオフェンスを追加します。 最初の実行時にのみ追加し、完了したらストレージにキャッシュしますか? または、トリガーされたときにこれを再度追加する必要があるとお考えですか? – peopletookallthegoodnames

答えて

1

ジオフェンシングは一度だけ追加する必要があります。ネイティブOSで非常に不安定なAPIです。特に、OSのアップデートで頻繁に破損するバックグラウンドの動作があります。

使用のようなもの:

if(Preferences.get("AddedGeofence", false)) { 
    addGeofenceBinding(); 
    Preferences.set("AddedGeofence", true); 
} 

そして、これが動作するかどうかを確認。

+0

こんにちはシャイ、これを試しましたが、ジオフェンシングはまだバックグラウンドで殺されています – peopletookallthegoodnames

+0

Androidでジオフェンシングを改善しようとしていますが、これはGoogleのいくつかの変更の犠牲と思われます。 –

+0

特にグーグル側では何が変更されましたか? – peopletookallthegoodnames

関連する問題