Service启动方式
创建Service
在src下,继承自系统的service
public class MyService extends Service
{
public IBlinder onBind(Intent arg0)//onBind生命周期
{
return null;
}
}
注册
<service android:name=".MyService"/>
添加生命周期方法
右击>Source>Override Implement Methods
onCreate onDestroy
、onStartCommand
、onUnbind
OnDestroy启动方法
启动后一直后台执行
activity_main.xml
添加按钮
…
{
Intent intent = new Intent(MainActivity.this, MyService.class);
startService(intent);
}
### 停止Service
新建按钮
**MainActivity.java**
```java
public void doClick2(View v)
{
Intent intent = new Intent(MainActivity.this, MyService.class);
stopService(intent);
}
绑定启动方法
private boolean flag=true;
public class MyBinder extends Binder
{
public MySerice getInstance()
{
return MyService.this;
}
}
public void onCreate()
super.onCreate();
Log.i("info","onCreate");
new Thread()
{
public void run()
{
while(flag)
{
try
{
Thread.sleep(1000);
}
catch(InterruptedException e)
{
e.printStackTrace();
}
Log.i("info","正在播放");
}
};
}.start();
//停止方法
public void stop()
{
flag=false;
Log.i("info","停止播放");
}
暂停方法
添加按钮
MainActivity.java
private MyBinder
public void doClick(View v)
{
Intent intent = new Intent(MainActivity.this, MyService.class);
bindService(intent, new ServiceConnection()
{
public void onServiceDisconnected(ComponentName name)
{
}
public void onServiceConnected(ComponentName name, Ibinder service)
{
myBinder = (MyBinder)service;
}
},Service.BIND_AUTO_CREATE);//没有Service自动创一个Service
}
终止方法
按钮
MainActivity.java
public void stopMusic(View v)
{
myBinder.getInstance().stop();
}
MyService.java
public IBlinder onBind(Intent arg0)//onBind生命周期
{
return new MyBinder();
}