Android 通过接口的方式去调用服务里面的方法
2017-04-27 14:26
941 查看
public class MainActivity extends AppCompatActivity { private MyConn conn; private Iservice myBinder; // 我定义的中间人对象 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Intent intent = new Intent(this, DemoService.class); //连接服务 conn = new MyConn(); bindService(intent, conn, BIND_AUTO_CREATE); } //点击按钮调用服务里面banzheng的方法 public void click(View v) { myBinder.callBanZheng(100000); } //监视服务的状态 private class MyConn implements ServiceConnection{ //当服务连接成功调用 @Override public void onServiceConnected(ComponentName name, IBinder service) { //获取中间人对象 myBinder = (Iservice) service; } //失去连接 @Override public void onServiceDisconnected(ComponentName name) { } } @Override protected void onDestroy() { //当Activity销毁的时候 解绑服务 unbindService(conn); super.onDestroy(); } }
public class DemoService extends Service { private static final String TAG = "jojp"; public DemoService() { } // 把我定义的中间人对象返回 @Override public IBinder onBind(Intent intent) { // TODO: Return the communication channel to the service. // throw new UnsupportedOperationException("Not yet implemented"); return new MyBinder(); } //banzheng的方法 public void banZheng(int money) { if (money > 1000) { Toast.makeText(getApplicationContext(), "banZheng", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(getApplicationContext(), "banZhengFail", Toast.LENGTH_SHORT).show(); } } //打麻将的方法 public void playMaJiang() { Log.d(TAG, "playMaJiang: "); } //洗桑拿的方法 public void sangNa() { Log.d(TAG, "sangNa: "); } private class MyBinder extends Binder implements Iservice{ @Override public void callBanZheng(int money) { //调用banzheng的方法 banZheng(money); } public void callPlayMaJiang() { //调用playMaJiang的方法 playMaJiang(); } public void callSangNa() { //调用洗桑拿的方法 sangNa(); } } }
public interface Iservice { //把领导想暴露的方法都定义在接口里 public void callBanZheng(int money); }
相关文章推荐
- Android通过接口方式调用服务里面的方法
- 通过接口方式调用服务里面的方法
- Android通过bindservice方式调用服务的方法
- Android中通过接口调用服务里的方法
- android基础笔记:服务(Service) 采用接口的方式调用本地服务的方法
- 通过bindservice方式调用服务方法里面的过程
- Android - 绑定服务调用服务里面的方法,start/bind开启服务的比较,混合方式开启服务,本地服务,远程服务,系统服务,录音API
- Android(java)学习笔记229:服务(service)之绑定服务调用服务里面的方法 (采用接口隐藏代码内部实现)
- activity以绑定服务的方式开启服务并调用服务里面的方法
- Android -- service的开启方式, start开启和绑定开启服务,调用服务的的方法, aidl调用远程服务
- android90 bind方式启动服务service调用service里的方法
- [android] 绑定方式开启服务&调用服务的方法
- Android中服务里面方法的调用,开启,绑定【入门】
- Android通过广播接收者调用服务内方法
- Android--调用服务里面的方法
- android 通过KSOAP调用.NET webservice中的服务接口
- Android 服务(service)的生命周期以及利用bindservice调用服务里面的方法
- 绑定的方式调用服务的方法和采用接口方式抽取方法
- Androidx学习笔记(65)--- 通过绑定服务调用服务里的方法
- android五中方式调用服务service中的方法