【实例简介】
【实例截图】
【核心代码】
package com.test;
import com.aidl.forService;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
import android.os.RemoteException;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
private static final String loveConfession = "You complete me.";
protected static final String _TAG = "TAG";
com.aidl.forService ms;
//MySevice ms;
Button bt1,bt2;
private ServiceConnection mConnection = new ServiceConnection() {
public void onServiceConnected(ComponentName className,
IBinder service) {
Log.d("TAG", "onServiceConnected");
ms = forService.Stub.asInterface(service);
}
public void onServiceDisconnected(ComponentName className) {
Log.d("TAG", "onServiceDisConnected");
}
};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
bt1 = (Button) this.findViewById(R.id.Button01);
bt2 = (Button) this.findViewById(R.id.Button02);
bt1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent it = new Intent(MainActivity.this,MySevice.class);
bindService(it, mConnection, Context.BIND_AUTO_CREATE);
startService(it);
}
});
bt2.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
try {
ms.Speak(loveConfession);
Log.d(_TAG, "bt2");
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
}