Android让BroadcastReceiver在后台运行

时间:2014-03-07 19:30:09

标签: android background broadcastreceiver android-service android-broadcast

我做了一个服务启动了BroadcastReceiver。 BroadcastReceiver仅在应用程序显示在最近的应用程序屏幕时才起作用。当我从最近的应用程序屏幕中删除应用程序时,BroadcastReceiver会停止。 如何将BroadcastReceiver始终保存在后台?

2 个答案:

答案 0 :(得分:1)

您的服务可能会因您的活动而被杀死 您应该在process=":background"节点内的清单文件中添加<service />

或者,或者, 在您的服务中,您必须返回START_STICKY

public int onStartCommand(Intent intent, int flags, int startId)
{
    super.onStartCommand(intent, flags, startId);
    return START_STICKY;
}

答案 1 :(得分:0)

在自己的类中声明BroadcastReceiver,并将其添加到Android Manifest,而不是在某些上下文中注册它。

This should be a simple starting point for you

哎呀我错了。 http://developer.android.com/reference/android/content/Intent.html#ACTION_BATTERY_CHANGED