Android怎么实现类似于天眼应用程序


这篇文章主要介绍了Android怎么实现类似于天眼应用程序的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android怎么实现类似于天眼应用程序文章都会有所收获,下面我们一起来看看吧。在今天的教程中,我们将持续收集有关手机上联系人,通话记录和短信(短信)的信息。从某种意义上说,我们将把代码放在定期运行(不时,间隔)的服务中,并确保我们拥有最新的信息。您可以将间隔设置为从一分钟到一天中任何一小时的任何值。我们添加一个按钮,触发目标设备上的监控。让我们转到我们的content_dashboard.xml并添加按钮。使用布局中声明的按钮,让我们在Dashboard.java文件中声明。 在公共类Dashboard …语句下面,声明按钮。ONCREATE方法声明我们的按钮后,让我们滚动到onCreate方法并设置免费云主机域名对我们按钮的引用并设置单击侦听器。1 – 我们将按钮分配给布局文件中的视图对象。2 – MyServiceIsRunning是一种检查服务是否正在运行的方法。 我们希望按钮上的文本设置为在服务运行时停止,并在服务未运行时启动。3 – 要检查的服务是TimerService.class。 其功能是设置一个重复报警功能,调用广播接收器向服务器发送信息。 让我们一点一点地接受它。MYSERVICEISRUNNING解释此方法接受服务参数并检查服务是否正在运行并返回一个布尔值(true / false)计时的服务此服务启动一个调用广播接收器的重复警报(警报管理器)。 接收器然后开始上传信息。 创建一个新的java类并将其扩展到Service类。让我们开始code:
唯一重要的方法是onCreate方法。使用AlarmManager,我们安排重复警报来调用ServerUpdateReceiver.class(广播接收器)。数据可以通过intent.putExtra调用传递给接收者,但我们现在不会传递任何数据。需要注意的另一件事是AlarmManager.INTERVAL_HOUR。这段参数(以毫秒为单位)是警报的间隔。最小值是60秒(1分钟 – 60000毫秒),你不能在下面设置。如果将其设置为低于60秒,Android将强制将其设置为一分钟。我们将接收器配置为每小时调用一次。建议甚至增加一点,因为频繁的调用可以调用应用程序崩溃,电池耗尽或在内存不足的情况下杀死我们的应用程序。我完全清楚,在发送数据之前,我们不会检查手机是否已连接到互联网。我们稍后会修复,但同时我们必须确保手机已连接到互联网。没有互联网连接的重复呼叫将导致应用暂时崩溃。暂时因为警报呼叫将再次被触发,而警报呼叫将再次呼叫我们的接收器。持续重复。服务更新接收器(广播)该接收器只是将定期数据发送到我们定义的服如果未授予权限,则不会调用适当的方法,因为android不允许我们收集我们无权访问的数据。创建一个java类并将其扩展到BroadcastReceiver类。
请记住,如果您没有根据教程中的对象命名对象,请确保根据代码替换它们。BroadcastReceiver唯一需要的方法是onReceive Override方法。 你的代码应该是这样的:在public class语句下面,让我们声明一个Context。 有了这个,所有其他方法都可以访问它。开展方法在该方法中,我们首先检查是否授予了权限,然后调用适当的方法。 本教程将介绍联系人,通话记录和短信。将SMS消息发送到服务器的方法是update_Server_SMS,负责发送联系信息和调用日志的方法是update_Server_Call_Logs和update_Server_Contacts。而不是使用不同的方法来处理与服务器的通信。 我们将创建一个接受POST参数和处理程序通信的方法。 有了这个,类中的所有方法都可以通过调用它并传递它们的参数来进行外部通信。UPDATE_SERVER方法更新服务器是处理与服务器的通信的方法。 它接受POST参数并发送它们。由于这个类是非UI(呃,也许可以做很少的UI工作,如通知等),我们不想推送如上传完成的任何通知,因为它是间谍应用程序:我们让目标不想知道已发送的信息的。 尽可能的安静。 因此,我们不在此处包含任何UI代码。 由于我们也不知道我们的数据是否已保存,因此我们确保服务器正确接收数据。 继续 …UPDATE_SERVER_SMS此方法读取电话的SMS数据库(收件箱,草稿,已发送),并通过update_Server方法将它们发送到服务器。content:// sms – 允许我们遍历整个SMS数据库,而不是将自己限制在收件箱,草稿或已发送的邮件中。cursor.getColumnIndexOrThrow – 允许我们获取光标的相应列索引。 请注意,输入错误的列名将导致应用程序崩溃。 这些是列的含义。地址 – 电话号码消息 – 消息的内容日期 – 消息的时间读 – 消息状态(0 – 不读,1 – 读)类型 – 消息类型(1 – 收件箱,2 – 发件箱,3 – 草稿(猜测工作))id – 唯一的消息标识符使用get_Long_Date将日期构造成人类可读的。然后我们构造POST参数并调用update_Server方法来传递信息。然后服务器应该收到类似$ _POST [‘address’] && $ _POST [‘message’]的内容……GET_LONG_DATE方法接受并将传递的参数转换为可读参数。UPDATE_SERVER_CONTACTS这个方法与上面的方法一样,遍历Contact数据库,获取信息并发送它。同样,更改ColumnIndex将导致应用程序崩溃。 它们是不变的价值观。UPDATE_SERVER_CALL_LOGS方法就像其他两个循环通过调用日志数据库并获取信息。我们已完成本教程。 在我们超越自我之前。 我花了几天时间才意识到我忘记添加适当的呼叫日志权限,尽管我们已经在上一个教程中添加了它们。 没有READ_CALL_LOGS和WRITE_CALL_LOGS权限。 我们无法访问通话记录。 让我们将它们添加到AndroidManifest.xml。现在来吧,运行你的Android应用程序。 允许权限并开始监控。 您的数据应该发送到测试服务器(如果您使用我的测试服务器)。关于“Android怎么实现类似于天眼应用程序”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Android怎么实现类似于天眼应用程序”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注云编程开发博客行业资讯频道。

相关推荐: SDN软件定义网络的示例分析

这篇文章将为大家详细讲解有关SDN软件定义网络的示例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。当前的网络是TCP/IP协议的天下,小到局域网大到互联网,网络改变了我们的生活,但是当今网络却不是一个完美的…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 02/06 17:19
Next 02/06 17:19