1.简单的方法,使用广播。service中处理完数据后发送广播,在需要接收的地方接收广播。

2.使用回调接口。编写回调的地方是往往是处理数据的地方,在这里写interface等。如下:

public class UpdateLiveDataService extends Service {    private WriteToDbListener mWriteToDbListener;    public interface WriteToDbListener {        void onWriteFinish();    }    public void setWriteToDbListener(WriteToDbListener listener) {        mWriteToDbListener = listener;    }    /**     * 返回一个Binder对象     */    @Override    public IBinder onBind(Intent intent) {        return new MsgBinder();    }    public class MsgBinder extends Binder {        /**         * 获取当前Service的实例         * @return         */        public UpdateLiveDataService getService(){            return UpdateLiveDataService.this;        }    }    ...在相关的地方回调    LogUtil.i(this,"mWriteToDbListener="+mWriteToDbListener);    if (mWriteToDbListener != null) {        mWriteToDbListener.onWriteFinish();    }

}

   

使用回调的地方:

 private void registerWriteToDbListener() {        //绑定Service,现在的service绑定在5.0之后要用显示的绑定了        Intent intent = new Intent();        intent.setAction("lenovo.com.ismartvlive.UPDATE");        intent.setPackage(getPackageName());        bindService(intent, conn, Context.BIND_AUTO_CREATE);    }    ServiceConnection conn = new ServiceConnection() {        @Override        public void onServiceDisconnected(ComponentName name) {        }        @Override        public void onServiceConnected(ComponentName name, IBinder service) {            //返回一个MsgService对象            mUpdateLiveDataService = ((UpdateLiveDataService.MsgBinder)service).getService();            mUpdateLiveDataService.setWriteToDbListener(new UpdateLiveDataService.WriteToDbListener() {                @Override                public void onWriteFinish() {                    LogUtil.i(this, "write to Db finish,isFirstTune:"+isFirstTune);                    if (isFirstTune) {                        startPlayLastTuneChannel();                    }                }            });        }    };


更多相关文章

  1. android监听app安装与卸载
  2. 【Android】android的基本UI操作(2)以及小结
  3. Android基本组件介绍和生命周期
  4. Android(安卓)studio button 按钮 四种绑定事件的方法【实例代码
  5. Android学习笔记八之BroadCastReceiver
  6. android Broadcast 广播 注册方式
  7. Android应用开机自启动失败原因
  8. Android(安卓)Service两种启动启动方式
  9. SpringBoot webSocket 发送广播、点对点消息,Android接收

随机推荐

  1. [android]DatePicker/DatePickerDialog简
  2. Android的AVD不能启动模拟器的问题
  3. Android——读取含有双字节字符的TXT文件
  4. android sdk 下载地址
  5. android锁屏唤醒并解锁屏幕
  6. android 时间获取以及时间格式化
  7. android几种开源项目源码地址
  8. android 回调函数二:应用实例
  9. Android NDK编译libPng为静态库
  10. Real Android apps leveraging db4o pers