在AndroidManifest.xml中定义service的 process 属性可以设置为“:remote”或者不设置。如果直接使用那种简单的返回binder就无法使用在要求service运行在另外一个进程的情况。
private TestService _boundService;
or
private Imyremoteservice _boundService; //aidl
以下是网上找到:
android service到底是个什么东西?说是后台组件.什么叫后台组件?说是运行在主线程,也就是UI线程里.这它奶奶的.既是后台,又是运行在主线程.
service用于后台,不产生画面,也就是不与用户交互.如后台播放音乐例子.
首先在包内创建一个IMusicControlService.aidl.
interface IMusicControlService
{
void playMusic();
void stopMusic();
}
保存,此时eclipse自动生成里一个接口类.
public interface IMusicControlService extends android.os.IInterface{
}
其中你要实现它的内部类,通过内部类对象来实现通信.下面是产生service 类了.
通过这个binder用activity和service通信了.这个activity写法是