Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 短信监听,最好的方式?_Android - Fatal编程技术网

Android 短信监听,最好的方式?

Android 短信监听,最好的方式?,android,Android,我需要做的应用程序,将捕捉每一条短信,手机接收,并转发到电子邮件地址的短信。所以,我想知道如何执行它——我应该将其作为服务还是应用程序?用户应该只打开应用程序一次,并且忘记它正在他的手机上运行。 我真的不知道如何管理它,因为我不是经验丰富的Java程序员 如果我把它作为服务,我假设它需要一直运行,这样它就可以“监听”收到的短信。(如果它周期性地打开是没有帮助的,因为关闭时可能会错过一些消息)。我不确定这是否可能 如果我将其作为应用程序,我是否可以通过以下方式实现该效果: 当默认短信应用程序接收到

我需要做的应用程序,将捕捉每一条短信,手机接收,并转发到电子邮件地址的短信。所以,我想知道如何执行它——我应该将其作为服务还是应用程序?用户应该只打开应用程序一次,并且忘记它正在他的手机上运行。 我真的不知道如何管理它,因为我不是经验丰富的Java程序员

如果我把它作为服务,我假设它需要一直运行,这样它就可以“监听”收到的短信。(如果它周期性地打开是没有帮助的,因为关闭时可能会错过一些消息)。我不确定这是否可能

如果我将其作为应用程序,我是否可以通过以下方式实现该效果:
当默认短信应用程序接收到短信时,手机也会通知我的应用程序并将其唤醒,然后我的应用程序会发送短信并执行任务?

您将必须使用广播接收器接收短信,然后以电子邮件的形式发送,您可能需要编写服务。您可以检查

您无法在实际的UI线程上处理与internet相关的任务-无论如何,这是一种糟糕的做法。您需要使用use AsyncTask来处理任何与internet相关的任务。查看:

谢谢您的回答,我就是这么做的!但问题是,当我打开应用程序并离开手机时,30-40分钟后,我看到手机关闭了应用程序并停止了它。所以我需要做一些事情来保持应用程序始终运行,这是主要问题:(广播接收器永远不会被杀死,当你安装应用程序时,它们会被注册,当意图过滤器匹配时,它们会一直被调用。到目前为止,我还没有意识到,你刚刚帮助我解决了这个问题!非常感谢,现在我的应用程序即使在手机重新启动后仍在运行!但不幸的是,另一个问题可能会出现我在使用BroadcastReceiver,你也在使用我,我使用GMAIL客户端将短信发送到电子邮件。我在AndroidManifest.xml中添加了
权限。INTERNET
,但应用程序刚刚崩溃!