onReceive 手続き
以下に修正したナニで通勤路で試験してみました。
private class TimeCounterReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER); jo.getLastKnownLocation(location); webView.loadUrl("javascript:reloadFunction()"); } }
5 秒に一度の GPS とのやりとりな設定なので marker の動作は微妙ですが、以下な reload にてそれなりに動作している様子。
function reloadFunction() { marker.setMap(null); var latlng = new google.maps.LatLng(roid.getLat(), roid.getLng()); map.setCenter(latlng); setMarker(latlng); }
3G な通信がどの程度か、ってあたりは運転してたのであまり確認できませんでした。
別途
ソースは晒します。
てか
このケイスでは Service 使うより Thread 使う方が楽な気がしてます。以下、備忘なメモ。
- Activity を Runnable 実装にする
- onCreate() で postDelayed() する
- run() で onReceive() な処理して再度 postDelayed() する
これで十分な気がする。