2010-12-17 63 views
1

我想在BroadcastReceiver的帮助下收听新短信(消息),但它会继续在整个应用程序中收听消息,甚至关闭应用程序后,去做??如何在Android中收听新短信

是否有已被弃用任何其他方式,听取短信或IntentReceiver一种解决方案(可在我网)最新的方法,而不是工作

回答

2

嘿ANKIT,只是检查了这一点,这是什么ü需要,.............

https://github.com/vivdub/DynamicSMSReceiver

感谢

+0

嘿,兄弟...非常感谢你,我已经准备好了这个代码,但是在这个源代码中,接收者类有很多不同,并且已经在AndroidManifest.xml中注册了接收者。 – Ankit 2010-12-18 05:20:59

+0

所以你终于得到了?? .......你可以转变......它在你的风格....... – viv 2010-12-18 05:28:01

+0

雅当然,我可以......我现在这样做 – Ankit 2010-12-18 05:29:27

3

您需要动态注册,unregisterBroadcastReceiver。 因此,当您检测到您的应用程序关闭时,只需取消注册您的接收器。 查看更多here

+0

嘿感谢,和你想说我必须只使用BroadcastReceiver或有任何其他方式 – Ankit 2010-12-17 12:19:24

+0

BroadcastReceiver是特别设计用于诸如报警或短信接收的东西。你最好使用它。 – 2010-12-17 12:24:30

+0

好的,谢谢。所以现在我需要动态注册和注销broadcastReceiver。让我看看。 – Ankit 2010-12-17 12:27:39

5

如果您在AndroidManifest.xml文件中将Activity或Service注册为BroadcastReceiver,则即使您的Activity未打开,也会收到广播通知消息。如果您只希望自己的应用程序收到短信只有在打开时才到达的通知,则需要使用registerReceiver()方法之一在onResume方法中为SMS消息注册BroadcastReciever,然后将其注册到您的“活动”中onPause()方法使用unregisterReceiver()。这样,当你的应用没有打开时,你的应用将停止收听短信。

+0

嗨山姆,感谢您的答复..但我创建了一个班,并使用BroadcastReceiver和AndroidManifest文件扩展了因此,无论我是否需要将其更改为服务或活动,或者这可能有效,或者这可能在将来不能正常工作,请请告诉我我该怎么做,我会告诉你我的代码 – Ankit 2010-12-17 12:41:16

+0

弗拉基米尔,看来你已经发现了为什么我的超链接不工作(我尝试修复它,但这个问题总是会发生)你是如何修复它的? – 2010-12-17 12:48:36

+0

我找到了解决方案,如何解释,如何解释和注销接收器,可在上一个答案中找到。感谢你的回应。 – Ankit 2010-12-18 05:27:53