安卓Service的使用
packagecom.example.service;importandroid.app.Activity;importandroid.content.BroadcastReceiver;importandroid.content.Context;importandroid.content.Intent;importandroid.content.IntentFilter;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.Toast;publicclassMainActivityextendsActivity{MyBroadcastmybroadcast;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}publicvoidstart(Viewview){Intentintent=newIntent(MainActivity.this,MyService.class);intent.putExtra("number",1);startService(intent);//启动service}publicvoidstop(Viewview){stopService(newIntent(MainActivity.this,MyService.class));}publicclassMyBroadcastextendsBroadcastReceiver{@OverridepublicvoidonReceive(Contextcontext,Intentintent){intcount=intent.getIntExtra("count",0);System.out.println("*****"+count+"******");Toast.makeText(context,"当前数字为:"+count,Toast.LENGTH_LONG).show();//显示service发来得数据}}@OverrideprotectedvoidonDestroy(){super.onDestroy();unregisterReceiver(mybroadcast);//取消注册}@OverrideprotectedvoidonStart(){super.onStart();mybroadcast=newMyBroadcast();IntentFilterfilter=newIntentFilter();filter.addAction("com.cwb.ServiceActivity");registerReceiver(mybroadcast,filter);//注册BroadcastReceiver}}packagecom.example.service;importandroid.app.Service;importandroid.content.Intent;importandroid.os.IBinder;publicclassMyServiceextendsService{@OverridepublicIBinderonBind(Intentintent){returnnull;}@OverridepublicvoidonCreate(){super.onCreate();}@OverridepublicvoidonStart(Intentintent,intstartId){System.out.println("service启动成功!!!");intmynumber=intent.getIntExtra("number",3);for(inti=10;mynumber<i;mynumber++){try{Thread.sleep(2000);}catch(InterruptedExceptione){e.printStackTrace();}IntentserviceIntent=newIntent();serviceIntent.setAction("com.cwb.ServiceActivity");serviceIntent.putExtra("count",mynumber);sendBroadcast(serviceIntent);//每隔2秒发送一个广播到ServiceActivity}}}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。