• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > 两个Service之间相互监视的实现,两个service监视

两个Service之间相互监视的实现,两个service监视

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了实现service,service的实现方法,web service实现平台,service,service unavailable等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

两个Service之间相互监视的实现,两个service监视


 

在实际开发中可能需要用到两个Service相互监视的情况,本示例就是实现此功能以作参考。

服务A:
 1 public class ServiceA extends Service {
 2 
 3 
 4     private static final String TAG = ServiceA.class.getSimpleName();
 5     MyBinder mBinder;
 6     MyServiceConnection mServiceConnection;
 7     PendingIntent mPendingIntent;
 8 
 9     @Override
10     public void onCreate() {
11         super.onCreate();
12 
13         if(mBinder==null)
14         {
15             mBinder=new MyBinder();
16         }
17         mServiceConnection=new MyServiceConnection();
18     }
19 
20     @Override
21     public int onStartCommand(Intent intent, int flags, int startId) {
22         ServiceA.this.bindService(new Intent(ServiceA.this,ServiceB.class),mServiceConnection, Context.BIND_IMPORTANT);
23         mPendingIntent=PendingIntent.getService(this,0,intent,0);
24         Notification.Builder builder=new Notification.Builder(this);
25         builder.setTicker("守护服务A启动中")
26                 .setContentText("我是来守护服务B的")
27                 .setContentTitle("守护服务A")
28                 .setSmallIcon(R.mipmap.ic_launcher)
29                 .setContentIntent(mPendingIntent)
30                 .setWhen(System.currentTimeMillis());
31         Notification notification=builder.build();
32 
33         startForeground(startId,notification);
34 
35 
36         return START_STICKY;
37     }
38 
39     @Override
40     public IBinder onBind(Intent intent) {
41         return mBinder;
42     }
43 
44     public class MyBinder extends IBridgeInterface.Stub {
45 
46         @Override
47         public String getName() throws RemoteException {
48             return "name:"+TAG;
49         }
50     }
51 
52     class MyServiceConnection implements ServiceConnection {
53 
54         @Override
55         public void onServiceConnected(ComponentName componentName, IBinder iBinder) {
56             String name=null;
57             try {
58                 name= IBridgeInterface.Stub.asInterface(iBinder).getName();
59             } catch (RemoteException e) {
60                 e.printStackTrace();
61             }
62 
63 
64             Toast.makeText(ServiceA.this,name+"连接成功",Toast.LENGTH_SHORT).show();
65         }
66 
67         @Override
68         public void onServiceDisconnected(ComponentName componentName) {
69             Toast.makeText(ServiceA.this,TAG+"断开连接",Toast.LENGTH_SHORT).show();
70 
71             ServiceA.this.startService(new Intent(ServiceA.this,ServiceB.class));
72 
73             ServiceA.this.bindService(new Intent(ServiceA.this,ServiceB.class),mServiceConnection, Context.BIND_IMPORTANT);
74 
75         }
76     }
77 
78 
79 }

服务B:

 1 public class ServiceB extends Service {
 2 
 3     private static final String TAG = ServiceB.class.getSimpleName();
 4     private PendingIntent mPendingIntent;
 5     private MyBinder mBinder;
 6     private MyServiceConnection mServiceConnection;
 7 
 8     @Override
 9     public IBinder onBind(Intent intent) {
10         return mBinder;
11     }
12 
13     @Override
14     public void onCreate() {
15         super.onCreate();
16         if (mBinder == null) {
17             mBinder = new MyBinder();
18         }
19 
20         mServiceConnection = new MyServiceConnection();
21     }
22 
23     @Override
24     public int onStartCommand(Intent intent, int flags, int startId) {
25         this.bindService(new Intent(ServiceB.this, ServiceA.class), mServiceConnection, Context.BIND_IMPORTANT);
26         mPendingIntent = PendingIntent.getService(this, 0, intent, 0);
27         Notification.Builder builder = new Notification.Builder(this);
28 
29         builder.setTicker("守护服务B启动中")
30                 .setContentText("我是来守护服务A的")
31                 .setContentTitle("守护服务B")
32                 .setSmallIcon(R.mipmap.ic_launcher)
33                 .setContentIntent(mPendingIntent)
34                 .setWhen(System.currentTimeMillis());
35         Notification notification = builder.build();
36         startForeground(startId, notification);
37 
38         retur



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 两个Service之间相互监视的实现,两个service监视

相关文章

  • 2017-05-26Android Studio导入Eclipse项目的两种方法,androideclipse
  • 2017-05-26Android表单UI及相应控件的事件处理,android表单ui控件
  • 2017-05-26Android开发技术周报 Issue#68
  • 2017-05-26Android界面架构(Activity,PhoneWiondow,DecorView)简介,activitydecorview
  • 2017-08-31android button的操作
  • 2017-11-18android TCP自动重连
  • 2017-05-26安卓DJ113舞曲网应用客户端 项目源码(服务器+客户端),安卓dj113
  • 2017-05-26Android自定义控件
  • 2017-05-26Android自定义ViewGroup打造各种风格的SlidingMenu
  • 2017-05-26Android SwipeRefreshLayout下拉刷新与上拉加载+滑动删除

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Android handler 详解(面试百分之100问到),androidhandler
    • 安卓界面组件----列表视图,安卓组件----视图
    • android:Activity启动模式之singleInstance
    • 首页3--界面上拉下拉的回弹效果,3--拉下
    • 通知 listview刷新!一天没搞出来的血泪史,listview血泪史
    • VS2015墙内创建ionic2,vs2015墙ionic2
    • Android IPC 之 AIDL(一)
    • android:px,dp(dip),sp的区别
    • android红米等关于读取本地文件夹图片获取路径的问题的解决,
    • EventBus的使用,EventBus使用

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有