读书人

请问service有关问题

发布时间: 2013-12-28 22:19:33 作者: rapoo

请教service问题
我写了一个service,可以执行到startService(intent);后就报异常然后退出了。
这是为什么呢?
错误信息是
FATAL EXCEPTION: main


protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

textview = (TextView)findViewById(R.id.textView1);
togglebutton = (ToggleButton)findViewById(R.id.toggleButton1);

togglebutton.setOnClickListener(new ToggleButton.OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if (togglebutton.isChecked()) {
intent = new Intent();
intent.setAction("com.example.temp.MY_SERVICE");
startService(intent);
} else {
stopService(intent);
}
}

});
}



public class MyService extends Service {

@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
Toast.makeText(getBaseContext(), "onCreate", Toast.LENGTH_SHORT).show();
}

@Override
public void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
Toast.makeText(getBaseContext(), "onDestroy", Toast.LENGTH_SHORT).show();
}

@Override
public void onStart(Intent intent, int startId) {
// TODO Auto-generated method stub
super.onStart(intent, startId);
Toast.makeText(getBaseContext(), "onStart", Toast.LENGTH_SHORT).show();
}

@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
Toast.makeText(getBaseContext(), "onBind", Toast.LENGTH_SHORT).show();
return null;
}

}



<service android:name="MyService">
<intent-filter >
<action android:name="com.example.temp.MY_SERVICE"/>
</intent-filter>
</service>

[解决办法]
大哥 你这报错信息呢?
FATAL EXCEPTION: main
后面的信息呢? 没有的话没法解决呀


还有下面这段代码能编译通过吗?
if?(togglebutton.isChecked())?{
????????????intent?=?new?Intent();
????????????intent.setAction("com.example.temp.MY_SERVICE");
????????????startService(intent);??????? ????????
????????}?else?{
????????????stopService(intent);
????????}


[解决办法]
intent = new Intent();

初始化Intent的时候,将当前activity的上下文传过去,如:
Intent intent = new Intent(yourActivity.this,yourService.class);
[解决办法]
无法实例化一个Service对象,原因是com.example.temp.Service类声明没找到。

你看下你的服务名称是不是写错了

读书人网 >Android

热点推荐