我在学习安卓,看书。第七章:服务与消息广播
调用context.bindService()方法启动Service
代码如下:
intent.setAction("android.intent.action.start");
/*intent.setPackage("lq.cn.Service4");*/ //指定启动的是那个应用(lq.cn.twoapp)中的Action(b.aidl.DownLoadService)指向的服务组件
Button button1=(Button)findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener(){
public void onClick(View v){
bindService(intent,sConnection,BIND_AUTO_CREATE);
}
});
Button button2=(Button)findViewById(R.id.button2);
button2.setOnClickListener(new OnClickListener(){
public void onClick(View v){
unbindService(sConnection);
}
});
intent.setPackage("lq.cn.Service4");
上面这一句如果不加,会出错,提示
Serviceintent must be explicit
加上这句运行也不对。
@Override
public void onCreate() {
System.out.println("---onCreate---");
super.onCreate();
}
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
System.out.println("---onBind---");
return null;
}
@Override
public boolean onUnbind(Intent intent) {
System.out.println("---onUnbind---");
return super.onUnbind(intent);
}
@Override
public void onDestroy() {
System.out.println("---onDestroy---");
super.onDestroy();
}
这是另一个Activity里的代码,书上的意思启动Service后会在logcat打印出---onCreate---
---onBind---
退出Service会打印出---onUnbind---
---onDestroy---
可是加上上边那一句后,虽然不出错了,但是没有打印出相应的信息。
intent.setPackage("lq.cn.Service4");
这句是我在网上查的,也不知道是什么意思。
好像是什么包名,我感觉可能包名不对。
我不知道该怎么办了。请高手指教,谢谢!
此帖出自
Linux与安卓论坛
一周热门 更多>