作者giginme (钓鱼帐号)
看板AndroidDev
标题[问题] service与binder
时间Tue Jun 25 17:23:53 2013
最近程式需要背景执行
然後上网搜寻了关於Service的用法
网路上范例我也试过
Service.class 程式如下
public class Nickyservice extends Service{
private Handler handler = new Handler();
@Override
public IBinder onBind(Intent intent){
return null;
}
@Override
public void onCreate(){
super.onCreate();
}
@Override
public void onStart(Intent intent,int startId){
handler.postDelayed((Runnable) intent, startId);
}
@Override
public void onDestroy(){
handler.removeCallbacks(showTime);
super.onDestroy();
}
public Runnable showTime=new Runnable(){
public void run(){
Log.i("Time:",new Date().toString());
handler.postDelayed(this, 1000);
}
};
}
MainActivity.java 部分呼叫service则是写
serviceButton=(ToggleButton) findViewById(R.id.serviceButton);
serviceButton.setOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
if(isChecked){
Intent intent=new Intent(MainActivity.this,Nickyservice.class);
startService(intent);
}else{
Intent intent=new Intent(MainActivity.this,Nickyservice.class);
stopService(intent);
}
}
});
AndroidMenifast也加上了
<service android:name="Nickyservice"
android:label="@string/app_name">
</service>
成是在执行中的时候按下ToggleButton却直接当机跳出程式
在网路上面看到有人说要指定IBinder去绑定功能,但是在我的范例成是上面
public void onBind()却是return null;
请问板上前辈binder的适用时机以及为什麽我的程式没办法顺利进入背景执行
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.153.80
1F:推 changyuheng:请问您的用途为何?若只要初始资料无沟通需求,用 Int 06/25 22:57
2F:推 changyuheng:entService 即可 06/25 22:57
3F:→ KeySabre:bindService 06/25 23:35
我在MainActivity上写了一个手机控制程式,但因为影像程式是额外写的,所以希望
MainActivity的控制程式可以背景执行,所以您的意思是说无须资料沟通就不必使用
IBinder的功能吗?
※ 编辑: giginme 来自: 140.113.153.80 (06/26 00:01)
※ 编辑: giginme 来自: 140.113.153.80 (06/26 00:03)