以前のリビジョンの文書です
broadcastを使ったデータ連携方法
受け側のActivity
override fun onCreate(savedInstanceState: Bundle?) { ... // receiverを登録する val receiver =object: BroadcastReceiver(){ override fun onReceive(context: Context, intent: Intent) { val extras = intent.extras val msg = extras!!.getString("message") ~すきな処理~ } } ... }
送り側のサービス
... // onLocationChangedイベントでActivityへ通知 inner class GPSLocationListener: LocationListener { override fun onLocationChanged(p0: Location?) { val format = SimpleDateFormat("kk:mm:ss") val msg="${format.format(Date())} lat:${p0?.latitude} lon:${p0?.longitude}" Log.d("locCheck",msg) sendMessage(msg); } ... } // Broadcastメイン fun sendMessage(msg: String) { val broadcast = Intent() broadcast.putExtra("message", msg) broadcast.action = "DO_ACTION" baseContext.sendBroadcast(broadcast) }