Geofenceの結果を受け取る方法について教えてください。
お世話になっております。
質問:Geofenceの結果を受け取る方法について教えてください。
前回、Geofenceについて教えていただき、下記のサンプルの改良品を動作できておりました。
参考サイト
http://dev.classmethod.jp/smartphone/android/android-google-play-services-location-api-geofencing/
最近、次の改良に移ろうと動作確認を行ったところ、携帯の「ホームボタン」を押した際に誤動作を行うことがわかりました。
「リターンキー」ではアプリは正常に動作しましたが、「ホームボタン」で画面を移動し再度アプリに戻った際、「onNewIntent」が動作し、「Geofence範囲外」でも処理してしまいます。
原因は、製作時でも気になっていた「Geofence」以外の「Intent」を拾ったものと思っています。
回避方法として、「onNewIntent」の勉強と「IntentService」の実装を試みています。
現状説明
「onNewIntent」:
「GeofenceでのIntent」判定で最適な方法にたどりついておりません。
最悪「if」で判定できないか?とも考えております。
「IntentService」:
ReceiveTransitionsIntentService.javaを自動で制作。
MainActivity.javaのpendingIntentを
Intent intent = new Intent(self, MainActivity.class);
から
Intent intent = new Intent(self, ReceiveTransitionsIntentService.class);
に変更。
ReceiveTransitionsIntentService.javaのonHandleIntentで結果を受けようとしま したが動作できておりません。
AndroidManifest.xmlには、
android:name=".ReceiveTransitionsIntentService"
android:exported="false" >
が自動的に記載されております。
各項目でのアドバイス、または、Geofenceの結果を受け取り、処理するのに適した他の方法がありましたら、ご指摘いただけたら幸いです。