我正在尝试创建一个用于监控传入SMS消息的应用程序,并通过传入SMS启动程序,它也应该从SMS读取内容.
工作流程:
我知道SMS内容提供商不是公共API的一部分(至少没有记录),但如果我理解正确,只要您知道如何使用API(?),仍然可以使用许多SMS功能.
例如,将短信插入收件箱非常简单:
ContentValues values = new ContentValues();
values.put("address", "+457014921911");
contentResolver.insert(Uri.parse("content://sms"), values);
Run Code Online (Sandbox Code Playgroud)
不幸的是,这并没有触发标准的"新收件箱中的短信"通知.是否可以手动触发?
编辑:AFAIK Android中的"标准邮件应用程序(Messaging)"正在使用android.permission.RECEIVE_SMS权限侦听传入的SMS.然后,当新的SMS到达时,会插入状态栏通知,其中包含"特殊"通知ID.因此我的问题的一个解决方案(如上所述)可能是找到并发送正确的广播意图; 像"新短信已经到达"这样的东西 - 意图.
编辑:从Android市场下载第三方消息传递应用程序(chompsms).该应用程序更好地满足了我的需求.当我执行上面的代码时,chompsms会注意到新的短信并显示"标准状态栏通知".所以我会说标准的Android Messaging应用程序没有正确检测短信?还是我错了?