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();
} //监视服务的状态
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 > ) {
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);
}

最新文章

  1. Codeforces Round #384 (Div. 2) C. Vladik and fractions(构造题)
  2. [原创]svn 常见错误总结
  3. 使用Entity Framework 自动产生的Sql语句
  4. [Tool] Visual Studio必备插件 + 技能
  5. Dedecms include\dialog\select_soft_post.php Upload Any Files To The Specified Directory Via Variable Not Initial Flaw Bypass Extension Defence
  6. JQuery遍历指定id的div name值的几种方法
  7. Project Euler 91:Right triangles with integer coordinates 格点直角三角形
  8. python笔记之编程风格大比拼
  9. 更新下载库update绝对详解
  10. <数据结构基础学习>(四)链表 Part 1
  11. ASP.NET Core 2.0 Cookie Authentication
  12. json.dump和json.dumps区别,json.load和json.loads的区别
  13. dvwa学习笔记之xss
  14. css绘制图标
  15. linux 6 网卡名称修改
  16. [洛谷P3376]【模板】网络最大流(ISAP)
  17. win10系统修改Intel VT-x时进入不了BIOS问题
  18. Centos下zabbix部署(二)agent安装并设置监控
  19. 今天测试发现qwebsocket有个bug
  20. C语言解释器的实现--存储结构(一)

热门文章

  1. 牛客国庆集训day6 B Board (模拟标记思维或找规律或分块???)
  2. react 中文文档案例六 (表单)
  3. HttpServletResponse 解决中文乱码
  4. Experimental Educational Round: VolBIT Formulas Blitz J
  5. 函数之-------------------------HR管理操作
  6. 及时从数据库中取得数据填放进Form表单的多选框中
  7. thinkPHP5.0验证器自定义验证规则
  8. Django media的设置
  9. Silverlight 动态创建Enum
  10. fireFox在中国的https网站的时候,老会出 ssl_error_unsupported_version 这个错误。