2014-09-29 4 views
0

У меня есть активность для добавления/изменения массива, и у меня есть другая активность, которая показывает этот массив в виде списка.Проверка строки на массив телефонных номеров в широковещательном приемнике

Я пытаюсь выполнить третье действие, которое проверяет номер телефона входящих вызовов на число в массиве и отклоняет его, если число находится в массиве. Все работает нормально, за исключением получения массива в моем классе IncomingCallReceiver.

Вот мой массив

_pxlist = new ArrayList<Product>(); 
     SharedPreferences prefs = getPreferences(MODE_PRIVATE); 
     String[] array = prefs.getString("numbers", "").split("&"); 
     for (int i = 0; (i+1)<array.length; i += 2) { 
      Number n = new Number(); 
      n.name = array[i]; 
      n.number = array[i+1]; 
      _pxlist.add(n); 
     } 

и в IncomingCallReceiver деятельности

if ((phoneNumber == pxArray)) { 
//Reject Call 
} 

Как я могу импортировать этот массив в приемник Broadcast, а затем проверить против него?

ответ

0

Как я могу импортировать этот массив в широковещательный приемник, а затем проверить против него?

Вы можете достичь этого, добавив _pxlist как статическое поле вашей деятельности, предположим, что это имя ArrayActivity, то вы можете использовать его в IncomingCallReceiver так:

if(ArrayActivity._pxlist != null && ArrayActivity._pxlist.size() > 0){ 
    // do the checking work. 
} 
+0

Я не могу получить эту работать должным образом. Я пытаюсь выяснить, если if (ArrayActivity._pxlist == номер входящего вызова) –

Смежные вопросы