service bindService, unbindService用法和实例
service ServiceSample.java
package com.terry;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
public class ServiceSample extends Service {
final String TAG="Service";
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean onUnbind(Intent intent) {
// TODO Auto-generated method stub
return super.onUnbind(intent);
}
@Override
public void onRebind(Intent intent) {
// TODO Auto-generated method stub
super.onRebind(intent);
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
}
@Override
public void onStart(Intent intent, int startId) {
// TODO Auto-generated method stub
super.onStart(intent, startId);
Log.i(TAG, "onStart");
}
}
serviceActivity.java 文件
package com.terry;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class serviceActivity extends Activity {
ServiceConnection connection;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
connection=new ServiceConnection() { //创建serviceconnection
@Override
public void onServiceDisconnected(ComponentName name) { //serviceconnection里面的函数 onServiceDisconnected
// TODO Auto-generated method stub
}
@Override
public void onServiceConnected(ComponentName name, IBinder service) { //serviceconnection里面的函数 onServiceConnected
// TODO Auto-generated method stub
}
};
OnClickListener listener=new OnClickListener() { //创建onclicklistener
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i=new Intent(serviceActivity.this, ServiceSample.class); //创建intent
switch (v.getId()) { switch选择语句
case R.id.Button01:
startService(i); //如果按了button1 就运行startService(i);
break;
case R.id.Button02:
stopService(i); //如果按了button2就运行stopService(i);
break;
case R.id.Button03:
bindService(i, connection, BIND_AUTO_CREATE); //如果按了button3就运行bindService(i,connection,BIND_AUTO_CREATE)
break;
case R.id.Button04:
unbindService(connection); //如果按了button4就运行unbindService(connection);
break;
default:
break;
}
}
};
Button btn=(Button)findViewById(R.id.Button01);
btn.setOnClickListener(listener); //给按钮添加事件
Button btn2=(Button)findViewById(R.id.Button02);
btn2.setOnClickListener(listener);
Button btn3=(Button)findViewById(R.id.Button03);
btn3.setOnClickListener(listener);
Button btn4=(Button)findViewById(R.id.Button04);
btn4.setOnClickListener(listener);
}
}