android– 测量短信发送速度

android– 测量短信发送速度,第1张

概述我需要测量Android设备中SMS的发送速度.我正在考虑以下方法.请告诉我它是否正确,或者是否有更好的解决方案.计算发送10条消息所花费的时间,并计算发送每条消息所花费的平均时间.但这里的速度在哪里?字符数会增加花费的时间吗?这是我写的代码. SmsManager smsManager = SmsManager.getDefault(); l

我需要测量Android设备中SMS的发送速度.我正在考虑以下方法.请告诉我它是否正确,或者是否有更好的解决方案.

计算发送10条消息所花费的时间,并计算发送每条消息所花费的平均时间.但这里的速度在哪里?字符数会增加花费的时间吗?

这是我写的代码.

    SmsManager smsManager = SmsManager.getDefault();    long startTime = System.currentTimeMillis();    smsManager.sendTextMessage("1234567890",null,text,null);    smsManager.sendTextMessage("1234567890",null);    long endTime = System.currentTimeMillis();    long result = endTime - startTime;

结果是742毫秒,但我怀疑这是正确的.这意味着每条SMS只需要74毫秒.最佳答案sendTextMessage()方法为其第四个参数采用PendingIntent,它将在发送消息时触发.我们可以将当前系统时间附加到PendingIntent的Intent上,当它触发时,检索该额外内容并将其与当前系统时间进行比较.这将为我们提供一个体面的衡量实际发送消息所需的时间.

我们将使用broadcastReceiver来处理PendingIntent,只需在其onReceive()中检索额外发送的时间,并从当前时间计算经过的时间.

broadcastReceiver smsSendReceiver = new broadcastReceiver() {    @OverrIDe    public voID onReceive(Context context,Intent intent) {        long sentTime = intent.getLongExtra("sent_time",0);        long elapsedtime = System.currentTimeMillis() - sentTime;        Toast.makeText(context,elapsedtime + "ms",Toast.LENGTH_SHORT).show();    }};

我们需要在发送消息之前注册此Receiver.在活动或服务中:

registerReceiver(smsSendReceiver,new IntentFilter("SMS_SENT"));

在发送我们的消息时,我们将PendingIntent构造权限“塞进”到sendTextMessage()调用中,因此我们不会在抓取当前时间和实际进行调用之间无意中引入任何不必要的延迟.

SmsManager sm = SmsManager.getDefault();sm.sendTextMessage("1234567890","Testing...",PendingIntent.getbroadcast(this,new Intent("SMS_SENT")                                                  .putExtra("sent_time",System.currentTimeMillis()),0),null);

如果需要,可以多次运行,并从结果中得出平均值.如果这样做,请务必正确处理PendingIntents,以确保为每个广播提供正确的发送时间.在给定的示例中,一种简单的方法是使用不同的请求代码 – getbroadcast()中的第二个参数 – 用于每个调用.

建议您在完成后取消注册Receiver,以免在日志中收到有关泄漏的Receiver的恶意消息.

unregisterReceiver(smsSendReceiver);
总结

以上是内存溢出为你收集整理的android – 测量短信发送速度全部内容,希望文章能够帮你解决android – 测量短信发送速度所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1139394.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存