您的位置:首页 > 移动开发 > Android开发

Android学习之service的使用

2016-08-06 02:58 232 查看

Android service

 

 

1、创建一个service

 


然后再manifest中会自动生成service的表签

<service
android:name=".MyService"
android:enabled="true"
android:exported="true">
</service>

 

 

在文件MyService .java中

public class MyServiceextends Service {
public MyService() {
}

@Override
publicIBinder onBind(Intent intent) {
// TODO: Return the communication channel to the service.
throw newUnsupportedOperationException("Not yet implemented");
}

//这个方法是在我们外界执行startService时执行的
@Override
public intonStartCommand(Intent intent, intflags, int startId) {
//创建一个线程
newThread() {
@Override
public voidrun() {
super.run();
while (true) {
System.out.println("服务器正在运行.....");
try {
sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
Toast.makeText(MyService.this,"出错了", Toast.LENGTH_SHORT).show();
}
}
}
}.start();

return super.onStartCommand(intent, flags, startId);
}
//service被关闭前被调用
@Override
public voidonDestroy() {
super.onDestroy();
}
}

2、添加启动服务按钮的响应事件

//启动服务的按钮响应事件
findViewById(R.id.StartButton).setOnClickListener(newView.OnClickListener() {
@Override
public voidonClick(View view) {
Intent i = new Intent(MainActivity.this,MyService.class);
startService(i);
}
});

3、添加停止服务按钮的响应事件

//启停止服务的按钮响应事件
findViewById(R.id.StopButton).setOnClickListener(newView.OnClickListener() {
@Override
public voidonClick(View view) {
Intent i = new Intent(MainActivity.this,MyService.class);
stopService(i);
}
});
创建线程的一种方法

//创建一个线程
newThread() {
@Override
public voidrun() {
super.run();
while (true) {
System.out.println("服务器正在运行.....");
}
}
}.start();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息