Activity访问Service内部方法
来源:互联网 发布:淘宝假冒申诉 编辑:程序博客网 时间:2024/06/06 03:44
一、Service启动方式有两种,一种startService() ,一种bindService(),两者除了生命周期有不同之外,还有本质的不同
1、startService 的进程是服务进程 ,bindService是前台或者后台Service,与activity同进程,一旦activity退出,则bindservice也会退出;
2、bindService启动,其中有三个参数,第二个参数很重要,ServiceConnected类,创建一个类继承该类时,实现的方法可以访问BindService的Ibinder接口对象,利用多态,便可访问里面的方法;-----------bindService()设置内部代理类间接访问内部数据;
一、Service代码
public class ServiceTest extends Service { @Nullable @Override public IBinder onBind(Intent intent) { //返回一个Binder对象 return new ZhouMiShu(); } public class ZhouMiShu extends Binder{ public void QianXian(){ banZheng(); } } public void banZheng(){ System.out.print("大胖子"); }}
二、主代码:
public class MainActivity extends AppCompatActivity { Intent intent; ServiceTest.ZhouMiShu zhouMiShu; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); intent=new Intent(); intent.setClass(this, ServiceTest.class); bindService(intent, new MyConnection(),BIND_AUTO_CREATE ); } public void click(View view){ //调用服务中间人的牵线方法从而得到牵线的办证方法 zhouMiShu.QianXian(); } class MyConnection implements ServiceConnection { @Override public void onServiceConnected(ComponentName name, IBinder service) { //获取继承Binder类的中间对象 zhouMiShu= (ServiceTest.ZhouMiShu) service; } @Override public void onServiceDisconnected(ComponentName name) { } }}
0 0
- Activity访问Service内部方法
- Service 回调 Activity的方法。
- service调用Activity中的方法
- Activity调用Service的方法
- JS外部访问内部变量方法
- ams启动activity过程,Binder通信,IPC机制,service内部流程,事件在activity流转分发
- 【Android开机启动Activity或者Service方法】
- Android开机启动Activity或者Service方法
- 【Android开机启动Activity或者Service方法】
- 【Android开机启动Activity或者Service方法】
- Android开机启动Activity或者Service方法
- Android开机启动Activity或者Service方法
- Android开机启动Activity或者Service方法
- Android开机启动Activity或者Service方法
- Android开机启动Activity或者Service方法
- Android开机启动Activity或者Service方法
- Activity调用Service里的方法
- Android开机启动Activity或者Service方法
- Block的引用循环问题 (ARC & non-ARC)
- Android Context 是什么?
- uva 11151Longest Palindrome
- Activity.runOnUiThread(Runnable)简单介绍
- Robi改造计划RTP---提前1个月完成听说和对话
- Activity访问Service内部方法
- keil5的安装+工程的创建
- Oracle学习笔记(一)
- 关于CALayer层的一些简单知识
- Oracle权限管理
- MySQL集群搭建详解
- centos 6.5 安装docker
- 用正则表达式来判断是否有需要的字符串
- 监听android home键的实现方式