这似乎应该很简单,但我陷入了混乱。
我IntentService
通过一个事件从我的主要活动开始,并使用在事件的同一主要活动中引用静态内部类onClick
的服务来监听来自服务的响应,即PendingIntent
BroadcastReceiver
onClick
public void onClick(View arg0) {
Intent intent = new Intent(this, MyService.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this,0,MyReceiver,0);
startService(intent);
}
public static class MyReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
// Do stuff here ....
}
现在,我要做的就是ProgressBar
在活动的 UI 上显示一个(漩涡状的不确定的),同时它IntentService
正在做它的事情。我ProgressBar
在xml中定义为
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@android:style/Widget.Holo.ProgressBar.Large"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:id="@+id/progress"
android:visibility="gone"/>
我可以从onClick
事件开始
ProgressBar pb = (ProgressBar) findViewById(R.id.progress);
pb.setVisibity(View.VISIBLE);
但我不知道在哪里以及如何隐藏它???我不能从myReceiver
它的静态类中做到这一点,而且我无权访问 UI。看起来很简单,但我想不出最好的方法。有什么建议么?
谢谢!