1. 更容易的方法是扫描它们在给定时间间隔内的数据库。容易实现,但不太节能,而且消息不能立即被朗读出来。
2. 另一种方式是以root权限运行服务并注册一个接收器来监听其推送通知。由于这两个包都需要基于签名的权限来接收其推送通知,因此必须使用root进行操作。更难实现,但用户体验更好。
3. 还有一件事情:是否可以在安装后手动添加APK的权限?如果可以的话,我可以将c2dm权限添加到我的包中。这会使事情变得非常简单,但是我有点害怕更改我的应用程序的权限,因为这完全违反了Android Sandbox原则。如果可能的话,请告诉我!
问题是,我应该如何使用root权限确切地运行服务(这是否真的可能)?我知道如何使用root运行shell命令或二进制文件,但不知道如何作为root启动APK的一部分。此外,是否可以将BroadcastReceiver集成到二进制文件中?我实际上对C / C ++没有任何Android环境的经验。
编辑:正如我在评论中所说,我不想使用AccessibilityService,因为它不能满足我的需求(例如,如果有多条未读消息,它会给我“2条未读消息”,而且它不包括完整的消息内容)。
返回结果应该包含html标签。
编辑2:为了澄清事情:我知道如何以root身份运行命令。我需要知道的是如何注册一个Broadcastreceiver,接收一些“普通”接收器无法获取的特定广播,因为广播本身需要基于签名的权限,而我没有该权限。