如果我关闭最近的应用程序,则BroadcastReceiver不起作用

时间:2016-12-08 06:15:03

标签: android service broadcastreceiver

我正在尝试创建一个应用程序,如果某个特定的东西被触发,将调用该应用程序。在我的应用程序中这个东西是短信..当一个新的短信接收我读取它的内容,我寻找一个特定的内容如果它呈现一个警报将继续。

如果应用程序被打开,它的工作正常。接收器触发良好...但当我清除最近的应用程序接收器不触发。我在这里搜索了很多..我们大多数人都说当一个应用程序在STOPPED_STATE时它不会收到任何关于特定事件发生的通知。

我有一个Android设备Hauwei和Android版本4.4.4当我清除我最近的应用程序它完全破坏我的应用程序。接收器停止工作。

我试图创建一个服务并返回start_sticky,对我而言,前台进程只能用于后台任务。但我不想发出通知,告知myApplication在您的设备中运行。

现在我想要的是我需要一个接收器,即使应用程序关闭也应该接收SMS_RECEIVED(这里我不是在谈论应用程序的STOPPED_STATE)。

在clearRecentApps之后,myApp处于STOPPED_STATE状态(我可以在设置myApps FORCE_STOP按钮中看到它禁用)。但同时WATSAPP,FACEBOOK和CLASSOFCLANS不是STOPPED_STATE(在设置中仅FORCE_STOP按钮启用)。没有任何前景通知。

他们是怎么做的......请帮助我们......这对我来说需要很多时间..

如果我错了,请让我知道。我很新的Android ..任何帮助将不胜感激..

1 个答案:

答案 0 :(得分:0)

这可能是一种解决方法,但即使您的应用关闭,您仍然需要再次启动服务 > onDestroy()方法。

@Override
public void onDestroy() {
    super.onDestroy();
    startService(new Intent(this, YourServiceClass.class));

}