Android笔记 Activity和Service的通信

来源:互联网 发布:各年度网络十大热词 编辑:程序博客网 时间:2024/05/22 05:29

Activity和Service的Bind通信方式
Activity的代码

import android.content.Intent;import android.content.ServiceConnection;import android.os.Bundle;import android.os.IBinder;public class TestActivity extends Activity{    private TestService mService;    private ServiceConnection conn=new ServiceConnection() {        @Override        public void onServiceDisconnected(ComponentName name) {            // TODO Auto-generated method stub        }        @Override        public void onServiceConnected(ComponentName name, IBinder binder) {            //获取TestService类            mService=((TestService.MyBinder)binder).getService();            //TestService的getString();方法            mService.getString();        }    };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        init();    }    private void init(){        Intent intent=new Intent(this, TestService.class);        bindService(intent, conn, Context.BIND_AUTO_CREATE);    }}

Service的代码

package com.aikeri.overload.service;import android.app.Service;import android.content.Intent;import android.os.Binder;import android.os.IBinder;public class TestService extends Service{    public String getString(){        return "";    }    @Override    public IBinder onBind(Intent arg0) {        return new MyBinder();    }    public class MyBinder extends Binder{        public TestService getService(){            return TestService.this;        }    }}
0 0
原创粉丝点击