我目前正在处理一个在后台接收短信(短信)的应用程序(即应用程序关闭时)。我不知道如何通过我注册的服务在状态栏上通知用户在后台接收短信。 NotificationCompat.Builder
类需要上下文作为参数,我们无法在服务类中传递它。
当新邮件到达时,Whatsapp messenger如何通知状态栏?
我在stackoverflow上经历了很多类似的问题,但没有一个解决我的问题。请帮我解决这个问题。任何参考或小代码都会有所帮助。
答案 0 :(得分:1)
NotificationCompat.Builder类需要将context作为其参数,我们无法在服务类中传递
Service
一个Context
。 Service
inherits from Context
。因此,您将Service
本身与NotificationCompat.Builder
一起使用。
答案 1 :(得分:1)
您可以使用Sticky Service,如果您的应用被杀,这样做会让您的服务重新开始:
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.i("LocalService", "Received start id " + startId + ": " + intent);
// We want this service to continue running until it is explicitly
// stopped, so return sticky.
return START_STICKY;
}
您可以在此处查看所有信息:
http://developer.android.com/reference/android/app/Service.html#START_STICKY
编辑:
以下是如何使用它的示例:
http://developer.android.com/reference/android/app/Service.html#LocalServiceSample