Я получаю nullpointerexception для следующего кода:
У меня есть SMS длиной более 160 символов, поэтому я делю их с помощью функции split () и затем добавляю одно отправленное сообщение PendingIntent.
Иногда этоисключение приходит.Мой номер мобильного телефона и данные смс не являются нулевыми;
String SENT = "SMS_SENT";
PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, new Intent(
SENT), 0);
// ---when the SMS has been sent---
BroadcastReceiver sentSMSStatusReciever = new BroadcastReceiver() {
@Override
public void onReceive(Context arg0, Intent arg1) {
switch (getResultCode()) {
//TOAST
}
unregisterReceiver(this);
}
};
registerReceiver(sentSMSStatusReciever, new IntentFilter(SENT));
SmsManager smsManager = SmsManager.getDefault();
// since message is greater than 160 chars
ArrayList smsContructedList = smsManager.divideMessage("SMS Content goes here ....");
ArrayList<PendingIntent> sentPIList = new ArrayList<PendingIntent>(1);
sentPIList.add(sentPI);
smsManager.sendMultipartTextMessage("Mobile Number goes here", null,
smsContructedList, sentPIList, null);
LOGS:
java.lang.NullPointerException
E/AndroidRuntime( 4527): at android.os.Parcel.readException(Parcel.java:1328)
E/AndroidRuntime( 4527): at android.os.Parcel.readException(Parcel.java:1276)
E/AndroidRuntime( 4527): at com.android.internal.telephony.ISms$Stub$Proxy.sendMultipartTextOnSubscription(ISms.java:1351)
E/AndroidRuntime( 4527): at android.telephony.SmsManager.sendMultipartTextMessage(SmsManager.java:354)