Service不能启动问题

u012137644 2014-10-15 09:28:00
在mainactivity代码如下
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
resources = getResources();
Intent intent = new Intent(this,TestService.class);
//intent.setAction("com.wyj.TEST_SERVICE");
startService(intent);

TestService注册如下
 <sercice android:name="com.WYJ.services.TestService">
<intent-filter>
<action android:name="com.wyj.TEST_SERVICE"/>
</intent-filter>
</sercice>

TestService代码如下
public class TestService extends Service {

private static final String TAG = "Testservice";

public TestService() {
// TODO Auto-generated constructor stub
}

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

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// TODO Auto-generated method stub
System.out.println("Testservice start");
Log.d(TAG, "Testservice start");
return START_STICKY;
}

@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
Log.d(TAG, "Testservice start");
}

}

运行后logcat并没有打印提示信息,求各位解答
...全文
254 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
糖果猪猪 2014-10-16
  • 打赏
  • 举报
回复
这个老大厉害,这都被你找出来了佩服
svenwang 2014-10-15
  • 打赏
  • 举报
回复
引用 8 楼 u012137644 的回复:
[quote=引用 7 楼 svenwang 的回复:] [quote=引用 5 楼 u012137644 的回复:] [quote=引用 3 楼 svenwang 的回复:]

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
	// TODO Auto-generated method stub
	System.out.println("Testservice start");
	Log.d(TAG, "Testservice start");
	return super.onStartCommand(intent, flags, startId); // <=加上这行代码
}
按照你说的加了代码,运行后logcat这样提示到底是什么原因呢[/quote] 改成这么注册试试

<service android:name=".TestService" />
你把service写成sercice,xml文件里也是这样吗?[/quote] 小弟眼拙,不知哪里把service写成sercice了,我找不到啊[/quote] 你再看看顶楼。
Kifile 2014-10-15
  • 打赏
  • 举报
回复
<sercice android:name="com.WYJ.services.TestService"> <intent-filter> <action android:name="com.wyj.TEST_SERVICE"/> </intent-filter> </sercice> 这里
u012137644 2014-10-15
  • 打赏
  • 举报
回复
引用 7 楼 svenwang 的回复:
[quote=引用 5 楼 u012137644 的回复:] [quote=引用 3 楼 svenwang 的回复:]

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
	// TODO Auto-generated method stub
	System.out.println("Testservice start");
	Log.d(TAG, "Testservice start");
	return super.onStartCommand(intent, flags, startId); // <=加上这行代码
}
按照你说的加了代码,运行后logcat这样提示到底是什么原因呢[/quote] 改成这么注册试试

<service android:name=".TestService" />
你把service写成sercice,xml文件里也是这样吗?[/quote] 小弟眼拙,不知哪里把service写成sercice了,我找不到啊
svenwang 2014-10-15
  • 打赏
  • 举报
回复
引用 5 楼 u012137644 的回复:
[quote=引用 3 楼 svenwang 的回复:]

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
	// TODO Auto-generated method stub
	System.out.println("Testservice start");
	Log.d(TAG, "Testservice start");
	return super.onStartCommand(intent, flags, startId); // <=加上这行代码
}
按照你说的加了代码,运行后logcat这样提示到底是什么原因呢[/quote] 改成这么注册试试

<service android:name=".TestService" />
你把service写成sercice,xml文件里也是这样吗?
u012137644 2014-10-15
  • 打赏
  • 举报
回复
引用 1 楼 kifile 的回复:
最低 sdk 版本太低吧?这种情况可以考虑在 manifest 的 service 标签里设置 android:enable="true"

系统提示level不能低于5,我改为5,即
<uses-sdk android:minSdkVersion="5" />
编译可以通过,但运行后logcat是这样提示的不知你有没有遇到这种情况呢
u012137644 2014-10-15
  • 打赏
  • 举报
回复
引用 3 楼 svenwang 的回复:

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// TODO Auto-generated method stub
System.out.println("Testservice start");
Log.d(TAG, "Testservice start");
return super.onStartCommand(intent, flags, startId); // <=加上这行代码
}
按照你说的加了代码,运行后logcat这样提示到底是什么原因呢
svenwang 2014-10-15
  • 打赏
  • 举报
回复
引用 2 楼 svenwang 的回复:
TestService重载的onStartCommand函数里要调用super.onStartCommand,TestService的onCreate方法才会被调用到。
关于这点,我可能是搞错了。
svenwang 2014-10-15
  • 打赏
  • 举报
回复

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
	// TODO Auto-generated method stub
	System.out.println("Testservice start");
	Log.d(TAG, "Testservice start");
	return super.onStartCommand(intent, flags, startId); // <=加上这行代码
}
svenwang 2014-10-15
  • 打赏
  • 举报
回复
TestService重载的onStartCommand函数里要调用super.onStartCommand,TestService的onCreate方法才会被调用到。
Kifile 2014-10-15
  • 打赏
  • 举报
回复
最低 sdk 版本太低吧?这种情况可以考虑在 manifest 的 service 标签里设置 android:enable="true"

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧