-1
我在我的應用程序中獲得了我的位置(gps)的服務。該服務獲取緯度,經度等信息,並且我想將這些信息寫入佈局片段和活動(TextView)中。獲取服務中活動和片段的視圖
但是我怎樣才能得到這些片段的視圖引用,因爲我的服務?
我在我的應用程序中獲得了我的位置(gps)的服務。該服務獲取緯度,經度等信息,並且我想將這些信息寫入佈局片段和活動(TextView)中。獲取服務中活動和片段的視圖
但是我怎樣才能得到這些片段的視圖引用,因爲我的服務?
你可以做一件事來實現這一點。向該活動發送廣播。並在那裏你想更新視圖註冊廣播的活動。一旦你得到的位置的東西,然後發送廣播。希望能幫助你。你的行動可以是任何:如下面的代碼
Intent broadcastIntent = new Intent(your action here);
broadcastIntent.putExtra(BaseBroadCastReceiver.BROADCAST_KEY_AUDIO_INDEX, audioIndex);
broadcastIntent.putExtra(BaseBroadCastReceiver.BROADCAST_KEY_AUDIO_LIST, mSongList.size());
sendBroadcast(broadcastIntent);
,並在下面的代碼
private void registerMyReceiver() {
IntentFilter filter = new IntentFilter(your action here you passed in service);
registerReceiver(playNewAudio, filter);
}
注意你的活動寫入提到的寫,當你的位置的東西,並通過通過意向的東西服務的代碼字符串,但字符串必須在兩邊相同
當調用activity的oncreate方法時,調用registerMyReceiver()方法 並在onDestroy方法中取消註冊,否則您可能會得到R UNTIME例外。
下面將是您的實際撒施接收器代碼
private BroadcastReceiver myBroadcast= new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
//do your stuff here... get extra which you passed
// from service and set that value in views
}
};
感謝你的反應。我該如何發送廣播到活動? – Luzwitz
@Luzwitz,我爲你的便利添加了代碼,如果這可以幫助你,請不要忘記接受並提出答案 –
是的,非常感謝你。 從我的活動開始,如何與我的服務進行溝通?對於變量的變量值,例如... – Luzwitz