Android IntentService - 太快死了?

时间:2015-10-25 18:00:57

标签: android intentservice

我最近自己开始尝试Android开发,但发现自己没有人问过我今天来找你这样的事情。

请参阅,我已经负责制作一个小型应用程序,用于计算您在x小时内接听电话的次数。

经过一段谷歌搜索后,我发现IntentService应该用于这样的事情(如果这是不正确的,我应该使用Service代替,给我一个眨眼)。

我已经实施了n IntentService,并让它运行以下代码:

@Override
protected void onStart() {

    Log.i(info, "The app started!");

    Intent i = new Intent(this, IntentServiceTest.class);
    i.putExtra("KEY1", "information!");
    this.startService(i);

    super.onStart();
}

哪,如果你没猜到;当我的应用程序首次启动它Activity时(如果需要,我可以发布整个Activity)。

我的IntentService看起来像这样:

public class IntentServiceTest extends IntentService {
public IntentServiceTest() {
    super("IntentServiceTest");
}

@Override
public void onCreate() {
    super.onCreate();
    Log.i(FirstActivity.info, "The IntetService started!");
}

@Override
protected void onHandleIntent(Intent workIntent) {
    Log.i(FirstActivity.info, "Here is some " + workIntent.getExtras().get("KEY1").toString());
}

@Override
public void onDestroy() {
    super.onDestroy();
    Log.i(FirstActivity.info, "The IntetService ended!");
}
}

到目前为止,我认为我在绿色。但是,正如你们中的一些人可能已经猜到的那样敏锐,我的IntentService确实会结束。正如我的Logcat透露时向我透露的那样:

I/[INFORMATION]: The IntetService ended!

它还没有持续x小时,而且它肯定没有计入任何入站电话(虽然后者是另一天的问题)。

在收听来电时如何让IntentService在后​​台休眠?

每次点击" Home"我的模拟器中的按钮,我的控制台告诉我:

E/Surface: getSlotFromBufferLocked: unknown buffer: 0xab7d30a0

(我猜是因为IntentService已经死了?)

任何人都可以快速解释一下如何让IntentService随着时间的推移而活着吗?即使在用户点击" Home"按钮,从而离开应用程序?

0 个答案:

没有答案