我在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
现在问题是这里有什么问题?