【发布时间】:2016-12-08 14:27:35
【问题描述】:
我正在尝试制作一个应用程序,如果触发了特定的事情,该应用程序将被调用。在我的应用程序中,这件事是短信。当收到新短信时,我会阅读其内容并查找特定内容,如果它出现警报,则会继续。
如果应用程序打开它就可以正常工作。接收器触发良好...但是当我清除最近的应用程序接收器未触发时。我在这里搜索了很多.. 我们大多数人都说,当应用程序处于 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 新手.. 任何帮助将不胜感激..
【问题讨论】:
-
是的,您需要在这里使用服务。在 startService 中表示在 onCreate 中注册接收器,在 onDestroy 中取消注册它。并 startService 并返回 STICKY。
-
我已经尝试过了,但它不起作用......如果我清除最近的应用程序我的应用程序服务不起作用......我不知道它停止工作
-
你能分享你注册接收器的代码吗?以编程方式还是清单方式?
-
@rafa Iam 仅将我的接收器放入清单中。我没有以编程方式注册它
-
@Mr.Popular : 你从 onStartCommand 返回什么作为 startMode ?
标签: android service broadcastreceiver