所有教程告诉我这样做:
startService(new Intent(this, MyService.class));
但没有构造函数接受Activity,Class,因此我得到语法错误
http://developer.android.com/reference/android/content/Intent.html
我试图以这种方式生成服务,
startService(new Intent(getApplicationContext(), MyService.class));
但我的服务永远不会执行。
public class MyService extends IntentService {
public MyService() {
super("MyService");
}
@Override
protected void onHandleIntent(Intent intent) {
//do stuff
}
}
我如何产生服务?
答案:我的android清单没有指定包
答案 0 :(得分:2)
此处添加了实际问题(在评论中找到):
该服务位于不同的包中,因此在清单中,它必须是完全合格的,例如<service android:name="actual.package.of.MyService"/>
旧答案:
如果您尝试在内部类中启动该服务,则不应编写:
startService(new Intent(this, MyService.class));
可是:
startService(new Intent(ActivityName.this, MyService.class));
确保您的服务显示在清单中。
onHandleIntent
内添加调试打印,以查看是否启动。答案 1 :(得分:0)
服务不可见
可能您尚未在清单文件中声明该服务。
我不认为代码有任何问题。 覆盖onstartCommand和oncreate方法,只需输入一个日志语句并检查logcat