关于Service服务:

对于Android应用程序而言,由于手机屏幕和硬件资源的限制,通常只允许一个应用程序处于活动状态,呈现给用户,与用户交互信息,其他的应用则全部处于非活动状态。但是在很多实际应用中,即使不显示用户界面,也需要程序的正常运行,比如MP3播放器。用户在MP3用户界面中操作,选择MP3播放后,通常习惯会直接退出该界面,继续使用手机其他的应用,比如听音乐的同时上网、聊天等。为了满足上述用户需求,Android系统提供了Service组件,我们可以在Service组件中实现音乐播放功能。

Service是Android系统的服务组件,适用于开发没有用户界面,但是需要长时间在后台运行的功能。这些功能通常包括音乐的播放、网络数据的获得、耗时的运算等。Service一般由Activity组件启动,但是却不依赖于Activity,Service拥有自己的生命周期,即便启动它的Activity销毁,Service依然能够继续运行,直到自己的生命周期结束。

Service服务的用法,可以参考这篇文章:https://blog.csdn.net/qq15577969/article/details/80960175

一、首先在mainActivity中定义一个内部广播的类(广播接收器),用来接收服务传回的信息

     /**     * 定义广播接收器,用于执行Service服务的需求(内部类)     */    private class ServiceNeedBroadcastReceiver extends BroadcastReceiver {        @Override        public void onReceive(Context context, Intent intent) {            //这里是要在Activity活动里执行的代码        }    }

二、在MainActivity中声明两个变量并且在初始化的时候注册这个广播接收器的实例

     //声明一个操作常量字符串    public static final String ACTION_SERVICE_NEED = "action.ServiceNeed";    //声明一个内部广播实例    public ServiceNeedBroadcastReceiver broadcastReceiver;    /**     * 注册广播实例(在初始化的时候)    */    IntentFilter filter = new IntentFilter();    filter.addAction(ACTION_SERVICE_NEED);    broadcastReceiver = new ServiceNeedBroadcastReceiver();    registerReceiver(broadcastReceiver, filter);

四、在Service服务类中发送广播消息给Activity活动

public class taskService extends Service {    /** 调用startService()启动服务时回调 */    @Override    public int onStartCommand(Intent intent, int flags, int startId) {        //在Service服务类中发送广播消息给Activity活动界面        Intent intentBroadcastReceiver = new Intent();        intentBroadcastReceiver.setAction(MainActivity.ACTION_SERVICE_NEED);        sendBroadcast(intentBroadcastReceiver);        return super.onStartCommand(intent, flags, startId);    }    /** 通过bindService()绑定到服务的客户端 */    @Override    public IBinder onBind(Intent intent) {        return null;    }}

 

更多相关文章

  1. Android(安卓)系列 4.6在显示其他应用程序的同时运行后台服务
  2. 两部android设备通过服务器转发实现通信简单demo
  3. Android中对闹钟Alarm的事件处理
  4. Android:Service生命周期方法与Service启动方式bindService与Star
  5. Android系统的Binder机制之三——服务代理对象(2)
  6. Android(安卓)手机端与服务器端通过http交换数据 Json
  7. Android小玩意儿-- 从头开发一个正经的MusicPlayer(二)
  8. android区域连接,Internet连接和云连接
  9. Android(安卓)在测试阶段当出现多个测试服务器地址时打包的小技

随机推荐

  1. Android 选择并裁剪头像
  2. TabHost的基本使用方法
  3. android实践项目七自定义的Spinner
  4. android上传图片以及POST字符串
  5. Android总结之style(样式)和Theme(主题)
  6. Android中调用系统函数查找联系人
  7. android:minSdkVersion =3改成7导致我的s
  8. android device action and adb command
  9. Android Activity屏幕切换动画-左右滑动
  10. kivy android app error