Moh*_*eza 9 sms android-intent
我在Android上遇到了一个奇怪的问题.当我通过我的应用程序发送短信时,我想听取发送意图.这是我到目前为止所做的:
private void shootSMS(String number,long currentTime){
SmsManager smsManager = SmsManager.getDefault();
Intent sentIntent = new Intent(SentBroadcastReceiver.SENT_ACTION);
Intent deliveredIntent = new Intent(DeliveredBroadcastReceiver.DELIVERED_ACTION);
Bundle b = new Bundle();
b.putString("num",number);
b.putString("record_time",currentTime+"");
sentIntent.putExtras(b);
deliveredIntent.putExtras(b);
PendingIntent sentPendingIntent = PendingIntent.getBroadcast(this,(int)currentTime,sentIntent,PendingIntent.FLAG_ONE_SHOT);
PendingIntent deliveredPendingIntent = PendingIntent.getBroadcast(this,(int)currentTime,deliveredIntent,PendingIntent.FLAG_ONE_SHOT);
smsManager.sendTextMessage(number,null,getString(R.string.app_name),sentPendingIntent,deliveredPendingIntent);
}
Run Code Online (Sandbox Code Playgroud)
现在的问题是,当onReceive()调用我的广播接收器的getResultCode()方法时,我调用该方法,它总是返回-1!即使手机关闭,也无法跟踪短信是否已发送!
我用GoSMSPro检查了号码并发送了一条失败的短信.有趣的是,当我把我的手机在飞行模式下,我得到的结果代码等于2这是SmsManager.RESULT_ERROR_RADIO_OFF
现在问题是这里有什么问题?
sendTextMessage的文档指出:
sentIntent:如果不为 NULL,则在消息发送成功或失败时广播此 PendingIntent。结果代码将为 Activity.RESULT_OK...
如果您查看Activity.RESULT_OK,则该值为 -1。
所以resultCode为-1实际上是RESULT_OK。
一般来说,最好不要查看数值,而是尝试找出它们代表哪个常量。
| 归档时间: |
|
| 查看次数: |
1994 次 |
| 最近记录: |