我创建了一个名为HelloService的新类。我把这个添加到了Android manifest.xml中。
public class HelloService extends Service {
private Timer timer = new Timer();
private long INTERVAL = 5000;
public void onCreate() {
super.onCreate();
startservice();
}
private void startservice() {
timer.scheduleAtFixedRate( new TimerTask() {
public void run() {
Log.d("servy", "This proves that my service works.");
}
}, 0, INTERVAL);
; }
private void stopservice() {
if (timer != null){
timer.cancel();
}
}
@Override
public IBinder onBind(Intent arg0) {
return null;
}
}
我的另一个活动是这样命名的:
Intent helloservice = new Intent(this, HelloService.class);
startService(helloservice);
由于某些原因,我在我的新HelloService...but中设置了一个断点,它甚至都没有命中。它也不会记录日志。
编辑:“无法启动服务意图{ cmp = com.examples.hello/.HelloService }:找不到”
这是什么意思?...我在相同的位置创建了HelloService.java ...
解决了。我修复了我的清单文件。谢谢尼古拉·斯米尔贾尼克
<service android:name=".HelloService"/>
至:
<service android:name="HelloService"></service>
发布于 2011-12-14 06:47:11
也许你没有在你最疯狂的时候声明服务。不管怎么说,你用错了类。你必须使用AlarmManager来编写事件。看到那个链接了,它对我很有用。
Use alarmManager and service to perform schedule notification only during specific time period
发布于 2012-09-09 21:11:42
与任何其他android应用程序一样,服务也有生命周期。因此,您的服务可能会被系统终止(请参阅Service文档)。实现这一点的正确方法是使用Android service stops中讨论的Alarm Manager。
发布于 2011-09-15 23:35:28
你要试试这个吗:
helloservice.setComponent(new ComponentName
(*hello service package name goes here*,
*hello service canonical name goes here*));
startService(helloservice);
https://stackoverflow.com/questions/2265020
复制相似问题