Activity是与用户打交道的,而Service是在后台运行的。
这个程序介绍了下如何启动和停止一个Service,以及在后台打印消息,我添加了一些注释。
在activity_main中将布局改为线性布局,方向改为垂直并添加两个按钮,
android:orientation="vertical" <Button android:layout_width="69dp" android:layout_height="wrap_content" android:text="启动服务" android:id="@+id/btnStartService" android:layout_weight="0.06" /> <Button android:layout_width="69dp" android:layout_height="wrap_content" android:text="停止服务" android:id="@+id/btnStopService" android:layout_weight="0.06" />
在MainActivity中
intent = new Intent(MainActivity.this,MyService.class);//启动另一个活动 findViewById(R.id.btnStartService).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startService(intent); } }); findViewById(R.id.btnStopService).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { stopService(intent); } });
在MyService中,负责在后台打印消息,注意如何创建一个线程:
public int onStartCommand(Intent intent, int flags, int startId) { //startService()启动时,这个函数自动启动 new Thread(){ //创建一个新线程 @Override public void run() { super.run(); while (true) { System.out.println("服务正在运行..."); try { sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }.start(); return super.onStartCommand(intent, flags, startId); }
具体参考: http://www.jikexueyuan.com/course/683.html
时间: 2024-10-14 10:38:19