2017-10-08 81 views
-1

我在我的应用程序中获得了我的位置(gps)的服务。该服务获取纬度,经度等信息,并且我想将这些信息写入布局片段和活动(TextView)中。获取服务中活动和片段的视图

但是我怎样才能得到这些片段的视图引用,因为我的服务?

回答

1

你可以做一件事来实现这一点。向该活动发送广播。并在那里你想更新视图注册广播的活动。一旦你得到的位置的东西,然后发送广播。希望能帮助你。你的行动可以是任何:如下面的代码

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 
    } 
}; 
+0

感谢你的反应。我该如何发送广播到活动? – Luzwitz

+0

@Luzwitz,我为你的便利添加了代码,如果这可以帮助你,请不要忘记接受并提出答案 –

+0

是的,非常感谢你。 从我的活动开始,如何与我的服务进行沟通?对于变量的变量值,例如... – Luzwitz