mura-hiromura-hiroホームITスキルAndroidAndroidアプリでジオフェンス(Geofence)を実装してみた2021/03/14SHAREツイートシェアはてブGoogle+PocketLINEAndroidでジオフェンスを実装してみました。直近の位置情報を取得するジオフェンスを作成するエミュレータで通知を確認するジオフェンスとはジオフェンスとは仮想の地理的境界線です。仮想の地理的な境界線をつくり、その境界線から出たかどうかを判定できます。ある人が家から出たことを検知し、ガスの締め忘れや鍵の閉め忘れがあった場合は通知を出すという用途で使えます。ESRIジャパンhttps://www.esrij.com/gis-guide/gis-other/geo-fense/何を実装したのか家から出ると通知を受け取るAndroidアプリを作ってみました。直近の位置情報を取得するまず家の位置を覚える必要があります。そのため、下記を参考に直近の位置情報を取得する処理を実装しました。}}ジオフェンスを作成する下記を参考にジオフェンスを実装しました。ジオフェンスの作成と監視https://developer.android.com/training/location/geofencing?hl=ja上記はGoogleの公式サイトですが、一部内容が欠けている箇所があったので合わせて下記のリポジトリを参考にしました。dmutti/android-play-locationhttps://github.com/dmutti/android-play-location完成したソースコードはこちらです。https://github.com/hiroki777/GeofenceTestエミュレータで通知を確認するジオフェンスが想定通り動作するのかエミュレータを使って確認しました。エミュレータで現在地を自由に設定するためには、Telnetでエミュレータに接続し、現在地を設定するコマンドを送信します。Telnetクライアントを有効にするWindowsの場合Telnetクライアントを有効にします。ポート番号はウィンドウタイトルで確認できます。ウィンドウタイトルには「Nexus_5X_API_23:5554」のように記載されており、この場合5554がポート番号です。コマンドを送信するhttps://developer.android.com/studio/run/emulator-console動作確認するまず適当な地点でジオフェンスを作成し、次にジオフェンスの範囲を外れた地点に現在地が移動するようにgeoコマンドを送信し、通知を受信できれば成功です。Mapアプリを立ち上げないとレシーバーが起動しませんでした。コメントをキャンセルメールアドレスが公開されることはありません。音楽ポルノグラフィティこのサイトについて製造業のソフトウェア開発部で働くmura-hiroが、ソフトウェアエンジニアの目線で技術とキャリアについてお話します。