我有一个应用程序,它将大量的SMS消息发送到中央服务器.每个用户可能会发送~300 txts /天.SMS消息被用作网络层,因为SMS几乎无处不在,而移动互联网则不是.该应用程序适用于许多移动互联网无处不在的第三世界国家.
当我达到100条消息的限制时,我会收到每条消息的提示.提示"正在发送大量SMS消息".每次询问应用程序是否可以发送短信时,用户都不会收到提示.用户不希望获得30个连续提示.
我发现这个Android源文件与谷歌.它可能已经过时了,我无法分辨.对于每个应用程序,每3600000毫秒(1天)看起来有100个sms消息的限制.
/** Default checking period for SMS sent without uesr permit */
private static final int DEFAULT_SMS_CHECK_PERIOD = 3600000;
/** Default number of SMS sent in checking period without uesr permit */
private static final int DEFAULT_SMS_MAX_ALLOWED = 100;
Run Code Online (Sandbox Code Playgroud)
和
/**
* Implement the per-application based SMS control, which only allows
* a limit on the number of SMS/MMS messages an app can send in checking
* period.
*/
private class SmsCounter {
private int …Run Code Online (Sandbox Code Playgroud) 随着短信和这样的事情的年龄,什么是在电子数据库中存储电话号码的好方法?
在美国,短信是通过电话号码处理的,但在其他国家,我听说他们使用的是电子邮件地址,所以我想需要一种方法来区分使用手机号码作为地址的国家.
增加:例如,美国人可能会使用432-342-3333或1-432-342-3333,而在英国他们可能会使用+44 800 400000,或者他们甚至可能会使用44 44和1自动发送短信时的区别.但是,检查每个国家/地区的电话号码可能会变得乏味.在这种情况下,你会拆分国家代码还是将它合并到一个列中并在那里处理它?
我如何在Android中进行编码,以便我的应用程序可以分析传入的短信并可能阻止它或做某事(可能移动到不同的SMS文件夹)在SMS实际发出通知告诉用户新短信之前?我会针对Android 2.1及更高版本.
我想分析用户指定的垃圾邮件单词的传入短信,如果找到则要删除/标记为已读/将邮件移动到其他文件夹.
我正在开发一个短信程序,我希望得到对话.
我编写了下面的代码,它工作正常,但我想知道它是否更有效
这是用于创建会话线程
Uri SMS_INBOX = Uri.parse("content://sms/conversations/");
Cursor c = getContentResolver().query(SMS_INBOX, null, null, null, "date desc");
startManagingCursor(c);
String[] count = new String[c.getCount()];
String[] snippet = new String[c.getCount()];
String[] thread_id = new String[c.getCount()];
c.moveToFirst();
for (int i = 0; i < c.getCount(); i++) {
count[i] = c.getString(c.getColumnIndexOrThrow("msg_count"))
.toString();
thread_id[i] = c.getString(c.getColumnIndexOrThrow("thread_id"))
.toString();
snippet[i] = c.getString(c.getColumnIndexOrThrow("snippet"))
.toString();
//Toast.makeText(getApplicationContext(), count[i] + " - " + thread_id[i]+" - "+snippet[i] , Toast.LENGTH_LONG).show();
c.moveToNext();
}
c.close();
Run Code Online (Sandbox Code Playgroud)
根据会话线程获取地址
for(int ad = 0; ad < thread_id.length ; ad++) …Run Code Online (Sandbox Code Playgroud) 有没有办法从iPhone收件箱(SMS)访问数据到ios应用程序进行自动OTP验证,如Android中的那样?我将非常感谢你的帮助.
关于SOverflow的一些问题,我找到了这个.但它表示目前无法提供,可能永远无法获得.
基于此,我意识到没有必要建立自己的短信服务.
所以问题是:
我的java应用程序必须向用户发送SMS消息并从用户接收SMS消息.我真的需要支付一些短信网关,还是有一些免费的短信GATEWAY(有一些限制)可以用来测试我的应用程序?
Simplewire Kit看起来非常简单,但演示示例失败了,因为我没有Simplewire帐户.Simplewire文档说,发送短信有30天的试用期.但这有两个方面:
"对于双向,因为您需要在Simplewire网络上托管自己的手机号码,因此无法使用演示学分.Simplewire支持许多不同国家/地区代码的双向号码.有关更多信息,请联系Simplewire."
我想尝试发送短信到奥地利的手机.我已经建立了免费试用twilio帐户.但是,我的twilio帐户似乎没有能力这样做.但我认为,应该可以发送短信与试用帐户?
这是我的twilio号码的截图,你可以看到它无法发送消息:

这是我得到的例外,当我运行我试图发送短信的python代码时:
twilio.rest.exceptions.TwilioRestException: HTTP 400 error: 21606: The From phone number +43720881723 is not a valid, SMS-capable inbound phone number or short code for your account.
Run Code Online (Sandbox Code Playgroud)
关于如何让这个运行的任何想法?换句话说:我如何激活我的免费twilio帐户的短信功能?如果这是可能的,有什么限制,即我可以发送多少免费短信?
谢谢!