Service组件详解告别UnabletostartserviceIntent

Service组件详解,告别UnabletostartserviceIntent!很多人在使用service的过程中由于一些细节的问题导致UnabletostartserviceIntent,在此,我搜集了一下service的一些资料,和大将共享...下次大家再遇到这样的错误,相信就能迎刃而解了.!let'sgo!1.Service是什么Service是Android的四大组件之一,即Android系统的服务(不是一个线程,是主程序的一部分),与Activity不同,它是不能与用户交互的,不能自己启动的,需要调用Context.startService()来启动,运行后台,如果我们退出应用时,Service进程并没有结束,它仍然在后台行。比如我们播放音乐的时候,有可能想边听音乐边干些其他事情,当我们退出播放音乐的应用,如果不用Service,我们就听不到歌了,所以这时候就得用到Service了。2.Service生命周期①onCreate()创建Service②onStart(Intentintent,intstartId)启动Service③onDestroy()销毁Service④onBind()返回一个IBinder接口对象给Service3.启动和停止Service①启动:startService(Intentintent)来启动Service,这时Service会调用自身的onCreate()方法(该Service未创建),接着调用onStart()方法。②停止:stopService(Intentintent)来停止Service,这时Service会调用自身的onDestory()方法。4.绑定Service调用bindService(Intentservice,ServiceConnectionconn,intflags)来绑定一个Service,这时Service会调用自身的onCreate()方法(该Service未创建),接着调用onBind()方法返回客户端一个IBinder接口对象。(注意:如果返回null,ServiceConnection对象的方法将不会被调用)参数①service:Intent对象。参数②conn:ServiceConnection对象,实现其onServiceConnected()和onServiceDisconnected()在连接成功和断开连接时处理。参数③flags:Service创建的方式,一般用Service.BIND_AUTO_CREATE表示绑定时自动创建。示例代码:MainActivity用来操作Service1.publicclassMainActivityextendsActivity{2.privateButtonstartBtn;3.privateButtonstopBtn;4.privateButtonbindBtn;5.privateButtonunBindBtn;6.privatestaticfinalStringTAG="MainActivity";7.privateLocalServicemyService;8.@Override9.publicvoidonCreate(BundlesavedInstanceState){10.super.onCreate(savedInstanceState);11.setContentView(R.layout.main);12.startBtn=(Button)findViewById(R.id.start);13.stopBtn=(Button)findViewById(R.id.stop);14.bindBtn=(Button)findViewById(R.id.bind);15.unBindBtn=(Button)findViewById(R.id.unbind);16.startBtn.setOnClickListener(newMyOnClickListener());17.stopBtn.setOnClickListener(newMyOnClickListener());18.bindBtn.setOnClickListener(newMyOnClickListener());19.unBindBtn.setOnClickListener(newMyOnClickListener());20.}21.classMyOnClickListenerimplementsOnClickListener{22.@Override23.publicvoidonClick(Viewv){24.Intentintent=newIntent();25.intent.setClass(MainActivity.this,LocalService.class);26.switch(v.getId()){27.caseR.id.start:28.//启动Service29.startService(intent);30.break;31.caseR.id.stop:32.//停止Service33.stopService(intent);34.break;35.caseR.id.bind:36.//绑定Service37.bindService(intent,conn,Service.BIND_AUTO_CREATE);38.break;39.caseR.id.unbind:40.//解除Service41.unbindService(conn);42.break;43.}44.}45.}46.privateServiceConnectionconn=newServiceConnection(){47.@Override48.publicvoidonServiceConnected(ComponentNamename,IBinderservice){49.Log.e(TAG,"连接成功");50.//当Service连接建立成功后,提供给客户端与Service交互的对象(根据AndroidDoc翻译的,不知道准确否。。。。)51.myService=((LocalService.LocalBinder)service).getService();52.}53.@Override54.publicvoidonServiceDisconnected(ComponentNamename){55.Log.e(TAG,"断开连接");56.myService=null;57.}58.};59.}复制代码Service实体类1.publicclassLocalServiceextendsService{2.privatestaticfinalString...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?