Android:我的服务不想启动

标签 android

我有:<service android:name=".kernel.background.Process"></service> 主要包装是:package="call.com"

我想创建一个进程来为我的数据库启动同步方法,现在我找到了一些例子,但是..

这是我的后台进程:

package call.com.kernel.background;

import java.util.Timer;
import java.util.TimerTask;

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;

public class Process extends Service {

private final Timer timer   = new Timer();

@Override
public void onCreate() {
    
    super.onCreate();
    
    startservice();
    
}

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

private void startservice() {
    
    timer.scheduleAtFixedRate(new TimerTask() {
        
        @Override
        public void run() {
            
            System.out.println("time:");
            System.out.println("is:");
            System.out.println("up:");
            
        }
        
    }, 0, 1000);

    ;
}

private void stopservice() {
    
    if(timer != null) {
        timer.cancel();
    }
    
}

}

最佳答案

你从哪里调用 startService(...)?您代码中某处的 Activity 需要启动您的服务。你读过Android Service Docs吗?然而?他们就如何正确构建和启动服务提供了很多见解。

如果您的断点位于 TimerTaskrun() 方法中并且没有被击中,那么这听起来肯定像是该服务从未被调用过:

因此从您的Activity:

Intent i = new Intent(this, Process.class);
startService(i);

关于Android:我的服务不想启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7028361/

相关文章:

android - 使用 Singleton 从多个 Activity 访问数据库时无法解析符号 'context'

java - 输入流在循环中崩溃

android - 如何找到 fragment 的 ID?或者,我如何给 fragment 一个 ID?

android - 从表盘打开手机上的 URL

android - Android View 中的 getOnClickListener()

Android Kotlin Realm 查询+更新异步的正确方法

android - 如何将字符串变量放入 JSONObject

android - 将 Intent 过滤器与 broadcastReceivers Android 一起使用

android - 如何在 Flutter 中禁用 FlatButton 的飞溅突出显示?

android - 如何在 FragmentPagerAdapter 的某些覆盖方法中设置 fragment Id?