Android--为服务实现启动前台?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (14)

所以我不确定在哪里/如何实现这个方法来使我的服务在前台运行。目前我在另一项活动中通过以下方式开始我的服务:

Intent i = new Intent(context, myService.class); 
context.startService(i);

然后在myServices的onCreate()我尝试startForeground():

Notification notification = new Notification();
startForeground(1, notification);

提问于
用户回答回答于

我会开始完全填写Notification。这将演示如何使用startForeground()

用户回答回答于

从你的主要活动中,使用以下代码启动该服务:

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

然后在你的服务中为onCreate()你建立你的通知,并将其设置为前景如下所示:

Intent notificationIntent = new Intent(this, MainActivity.class);

PendingIntent pendingIntent = PendingIntent.getActivity(this, 0,
                notificationIntent, 0);

Notification notification = new NotificationCompat.Builder(this)
                .setSmallIcon(R.mipmap.app_icon)
                .setContentTitle("My Awesome App")
                .setContentText("Doing some work...")
                .setContentIntent(pendingIntent).build();

startForeground(1337, notification);

扫码关注云+社区