本文选自*(简称:SOF)精选问答汇总系列文章之一,本系列文章将为读者分享国外最优质的精彩问与答,供读者学习和了解国外最新技术。在Android中启动Service时出现“undefined
intent constructor”的错误,怎么办?
我在Activity中尝试启动Service,但出现“undefined intent constructor”的报错信息。
MyService.java代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
public
@Override
public
return
;
}
public
return
null ;
}
@Override
public
Toast.makeText( this , "My ,
Log.d(TAG, "onCreate" );
instance this ;
}
@Override
public
Toast.makeText( this , "My ,
Log.d(TAG, "onDestroy" );
instance null ;
}
@Override
public
Toast.makeText(getBaseContext(), "Service ,Toast.LENGTH_SHORT).show();
}
}
|
启动SampleService.java的代码如下:
1
2
3
4
5
6
7
8
9
|
public
@Override
protected
super .onCreate(savedInstanceState);
setContentView(R.layout.grid_activity);
Intent new
this ,MyService. this ); //Error
startService(myintent);
}
}
|
在manifest file中设定service的初值如下:
1
|
<service "true"
"com.MyApp.MyService"
|
请大家帮我解决这个错误。
(最佳答案)
你不应该使用Service.this,而应该按如下方法改变class:
1
|
Intent new
this ,MyService.Class);
|
做如下调整:
1
|
Intent new
this ,MyService. this );
|
变为:
1
2
|
Intent new
this ,MyService.Class);
//
|
你没有设置类似于Intent(SampleService, MyService)的构造函数,在intent constructor参数设定上出现错误。
1
2
3
4
5
6
7
8
9
10
|
public
Added in
Create for
null , with
for
for
this .
Parameters
packageContext this
cls
The for
|
原文链接:http://*.com/questions/20068783/errorundefined-intent-constructor-when-start-service-in-android
文章选自*社区,鉴于其内容对于开发者有所帮助,现将文章翻译于此,供大家参考及学习。9Tech将每日持续更新,读者可点击*(简称:SOF)精选问答汇总,查看全部译文内容。同时,我们也招募志同道合的技术朋友共同翻译,造福大家!报名请发邮件至zhangqi_wj@cyou-inc.com。