获取服务中活动和片段的视图
问题描述:
我在我的应用程序中获得了我的位置(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