Context.startService

Intent intent = new Intent(context, MyService.class);
context.startService(intent);

PendingIntent.getService
Intent intent = new Intent(context, MyService.class);
PendingIntent pi = PendingIntent.getService(context, 0, intent, 0);
pi.send();

问题
  • 什么时候使用Context.startService与PendingIntent启动服务?
  • 为什么要在另一个上使用一个?
  • 最佳答案

    真的没有区别。

    具体来说,上下文方法用于直接启动它,因为PendingIntent通常与通知一起使用,以便在点击该意图时触发该意图,该意图会延迟到用户轻按(通常)。然而;通常,您通常不会直接发送PendingIntent,因为那不是它的目的。

    PendingIntent是一个挂起的,挂起的Intent,这意味着它的 NOT 应该在现在,但在不久的将来发生。出于意图,它会在此刻发送。

    如果使用PendingIntent时未将其挂起,则它不再是PendingIntent,并且实际上是一个Intent。 完全击败的目的。

    关于android - Android:使用Context.startService和PendingIntent.getService启动服务,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9152924/

    10-12 03:20