我有一些代碼的問題,需要一些幫助。我在這裏的代碼發送文本...但我遇到的問題是接收文本ALWAYS的代碼返回RESULT_OK ...我可以關閉手機/嘗試一個我知道不是真實的數字,它會一直返回RESULT_OK ...任何人都可以幫助我在正確的方向,是否有明顯的錯誤?我使用了錯誤的代碼嗎?任何幫助將是偉大的!由於Android - 文本交付總是返回結果確定
的代碼時,我收到文本:
塊引用
Globals.GlobalContext.registerReceiver(new BroadcastReceiver()
{
@Override
public void onReceive(Context context, Intent arg1)
{
switch (getResultCode())
{
case Activity.RESULT_OK:
Globals.UpdateStatus("Message was delivered");
Bundle extras = arg1.getExtras();
if (extras != null)
{
arg1.getStringExtra("smsNumber");
String number = arg1.getStringExtra("smsNumber");
Globals.UpdateStatus("Delivered to :" + number);
arg1 = null;
}
else
{
Globals.UpdateStatus("Sent to a number that I don't know :(");
}
break;
case Activity.RESULT_CANCELED:
Globals.UpdateStatus("Message was NOT delivered");
break;
}
}
}, new IntentFilter(DELIVERED));
發送我的文字代碼:
public void SendTextMessageDelivery(String number, String Message)
{
if ((CheckValidPhoneNumber(number)) && (Message.length() != 0))
{
if (!CheckSMSManager())
{
StartSMSManager(true);
}
//sent
PendingIntent sentPI = PendingIntent.getBroadcast(Globals.GlobalContext, 0, new Intent(SENT), 0);
ArrayList<PendingIntent> sentIntents = new ArrayList<PendingIntent>();
sentIntents.add(sentPI);
//delivered
Intent DeliveredIntent = new Intent(DELIVERED);
DeliveredIntent.putExtra("smsNumber", number);
PendingIntent DeliveredPI = PendingIntent.getBroadcast(Globals.GlobalContext, 0, DeliveredIntent, PendingIntent.FLAG_UPDATE_CURRENT);
ArrayList<PendingIntent> DeliveredIntents = new ArrayList<PendingIntent>();
DeliveredIntents.add(DeliveredPI);
ArrayList<String> mSMSMessage = smsManager.divideMessage(Message);
for (int i = 0; i < mSMSMessage.size(); i++)
{
}
smsManager.sendMultipartTextMessage(number, null, mSMSMessage, sentIntents, DeliveredIntents);
}
else
{
if (Message.length() != 0)
{
Globals.UpdateStatus("Message was not long enough!");
}
else
{
Globals.UpdateStatus("Failed to Validate Mobile Number");
}
}
}