android 启动service出现问题,直接“很抱歉,已停止运行”

在activity的onResume()方法启动服务,直接“很抱歉,已停止运行”

protected void onResume() {
super.onResume();
if(isNetworkAvailable())
{
Log.e("login_resume", "+++++++++++++++++++++++");
Intent service = new Intent(this, GetMsgService.class);
startService(service);
}else {
toast(this);
}

我的service是下面的内容,主要是通过一个client启动读写线程,用于socket的传输:
import com.example.client.Client;
import com.example.client.ClientInputThread;
import com.example.client.MessageListener;
import com.example.tran.bean.TranObject;
import com.example.util.Constants;
import com.example.util.SharedPreferencesUtil;

import android.app.Application;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;

public class GetMsgService extends Service{
private MyApplication myApplication;
private SharedPreferencesUtil util;
private Client client;
private Context context = this;
private boolean isStart = false;// 是否与服务器连接上

@Override
public void onCreate() {
        // TODO Auto-generated method stub
    super.onCreate();
    myApplication = (MyApplication) this.getApplicationContext();
    client = myApplication.getClient();
    Log.e("service_oncreate", "++++++++++++++++++++");
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// TODO Auto-generated method stub
super.onStartCommand(intent, flags, startId);
isStart = client.start();
myApplication.setClientStart(isStart);
System.out.print(isStart);
Log.e("service", "+++++++++++++++++++++++++++++");
if(isStart)
{
ClientInputThread inputThread = client.getClientInputThread();
inputThread.setMessageListener(new MessageListener() {

          @Override
          public void Message(TranObject tranObject) {
            // TODO Auto-generated method stub
              Intent broadcast = new Intent();
              broadcast.setAction(Constants.ACTION);
              broadcast.putExtra(Constants.MSGKEY, tranObject);
              sendBroadcast(broadcast);
          }
    });
}
    return START_REDELIVER_INTENT;

}

@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
}

2个回答

看你的错误输出日志,然后定位到错误代码行

这种情况如果没有错误指示的话,一般都是R文件没有解析到你的某一个id或者文件。或者是AndroidManifest.xml中忘记定义了类

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问