我有一个已经绑定到服务的活动。当我启动活动时,它会绑定到服务并从服务内的变量中获取值。所以我可以在我的活动中显示价值。
现在我想永久读取服务中变量的值。不仅在我的活动的 onCreate 被调用时。我怎样才能做到这一点?什么是正确的方法?
有几种方法可以做到这一点。一种相对简单的方法是使用Handler
定期触发自身的 a
public class MyActivity extends Activity {
private static final int UPDATE_RATE_IN_MS = 500;
private static final int MSG_UPDATE = 0;
private Handler mHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
doUpdate();
mHandler.sendEmptyMessageDelayed(MSG_UPDATE, UPDATE_RATE_IN_MS);
}
};
}
@Override
protected void onStart() {
super.onStart();
mHandler.sendEmptyMessageDelayed(MSG_UPDATE, UPDATE_RATE_IN_MS);
}
@Override
protected void onStop() {
super.onStop();
mHandler.removeMessages(MSG_UPDATE);
}
private void doUpdate() {
// do whatever you need here.
}
}
您将doUpdate()
在此示例中放入值的更新。