android service基础

service基础知识点总结


service启动方式分为两种

  • startService(Intent intent) onCreate-->onStartCommand,其中onStartCommand一定会被执行。stopService()关闭service
  • bindService(Intent service,ServiceConnection conn,int flags) onCreate-->onBind,其中onBind方法只被调用一次,通过unBindService()关闭service

start一个service后,service运行在独立的线程中,不再和原来的组件有任何关联。bind一个service后,service给组件提供了一个接口,可以互相交互。

在写service的demo时遇到异常:java.lang.IllegalArgumentException: Service Intent must be explicit: Intent。服务意图必须是显示声明的。

解决方法:

Intent intent = new Intent();  
intent.setAction("com.yulore.recognize.android");  
intent.setPackage(context.getPackageName());    //兼容Android 5.0  
context.startService(intent);  

or

Intent intent = new Intent(com.yulore.test.AppService.class);  
context.startService(intent);  
posted @ 2021-04-27 17:23  计算机虫子  阅读(39)  评论(0编辑  收藏  举报