我正在尝试创建一个简单的服务。
这是服务来源
public class UploadService extends IntentService {
public UploadService(String name) {
super(name);
// TODO Auto-generated constructor stub
}
@Override
public int onStartCommand(Intent intent, int flags, int startId){
Toast.makeText(this, "service starting", Toast.LENGTH_SHORT).show();
return super.onStartCommand(intent, flags, startId);
}
@Override
protected void onHandleIntent(Intent intent) {
// TODO Auto-generated method stub
Toast.makeText(this, "handling intent", Toast.LENGTH_SHORT).show();
}
这是清单
中服务的定义<service
android:enabled="true"
android:name="com.sopla.Services.UploadService">
</service>
这是我用于在程序启动时调用的主Activity的onCreate方法启动服务的代码
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = new Intent(this,
com.sopla.Services.UploadService.class);
startService(intent);
我可以调试所有onCreate方法,但在此之后程序挂起,我无法访问服务源代码中的断点。
我错过了什么? 谢谢, 卢卡
答案 0 :(得分:0)
尝试使用onStartCommand:
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
TODO do something useful
return Service.START_NOT_STICKY;
}
答案 1 :(得分:0)
感谢每一个人,但更好地检查logcat我发现了问题 出于某些奇怪的原因,要求Ide添加缺少的IntentService成员,添加一个带字符串的构造函数,但在运行时没有需要构造函数。 从costructor中删除字符串参数解决了这个问题。