首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

请问service有关问题

2013-12-28 
请教service问题我写了一个service,可以执行到startService(intent)后就报异常然后退出了。这是为什么呢?

请教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类声明没找到。

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

热点排行