1

我正在尝试在android中创建一个服务,我想无限期地在后台运行。所以我尝试创建一个像:

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

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

@Override
public void onDestroy() {
    super.onDestroy();
    Toast.makeText(this, mssg, Toast.LENGTH_SHORT).show();
}

public int onStartCommand(Intent intent, int flags,int startid) {
    Toast.makeText(this, mssg, Toast.LENGTH_LONG).show();
    Log.d("Start:", "Service running");

           // my code here

    return START_STICKY;
}

但是当我运行这段代码时,toast 消息和日志只显示一次,这是否意味着服务只运行第一次。如果它再次运行 n 再次被重复调用它的哪个 API?

谢谢,影子。

4

2 回答 2

1

无限期地运行服务和一次又一次地运行同一段代码是两件截然不同的事情。您提供的这段代码将允许服务在后台运行,只要 Android 系统不决定停止它。

不确定您要实现什么功能,但我建议您阅读服务的具体用途以及您的要求。

于 2013-05-25T18:37:34.163 回答
0

我建议你return START_STICKY; 改变return START_NOT_STICKY;

如此处文档中给出的详细信息 。

于 2018-04-27T13:25:44.370 回答