2016-03-21 5 views
0

Я знаю, что как получать пропущенные сигналы вызова, но я не знаю, сколько у меня пропущенных звонков. Итак, как я могу подсчитать это количество пропущенных звонков?Как подсчитать количество пропущенных вызовов в Android

Я использую этот код в oncreate:

TelephonyManager TelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 
     TelephonyMgr.listen(new TeleListener(),PhoneStateListener.LISTEN_CALL_STATE); 

После того, что я использую этот код, чтобы получить оповещение о пропущенных вызовах:

class TeleListener extends PhoneStateListener { 
public void onCallStateChanged(int state, String incomingNumber) { 
super.onCallStateChanged(state, incomingNumber); 
switch (state) { 
case TelephonyManager.CALL_STATE_IDLE: 
if (ring == true && callReceived == false) { 
missedcallno=incomingNumber; 
Toast.makeText(getApplicationContext(),"It was A MISSED CALL:" + incomingNumber,Toast.LENGTH_LONG).show(); 
} 
default: 
break; 
} 
} 
} 

ответ

1

Проверьте этот ответ: https://stackoverflow.com/a/7621988/5275436

Для пропущенных звонков:

String[] projection = { CallLog.Calls.CACHED_NAME, CallLog.Calls.CACHED_NUMBER_LABEL, CallLog.Calls.TYPE }; 
      String where = CallLog.Calls.TYPE+"="+CallLog.Calls.MISSED_TYPE;   
      Cursor c = getContentResolver().query(CallLog.Calls.CONTENT_URI, projection,where, null, null); 
      c.moveToFirst();  
      Log.d("CALL", ""+c.getCount()); //do some other operation 

и объявить разрешение в манифесте:

<uses-permission android:name="android.permission.READ_LOGS"></uses-permission> 

Подробности о выборе и selectionArgs

Выбор Фильтр декларирование, какие строки для возврата, отформатированные как SQL ИНЕКЕ (за исключением ГДЕ). Передача null вернет все строки для данного URI.

selectionArgs (где) Вы можете включить? S в выборе, которые будут заменены значениями из selectionArgs, в том порядке, в котором они появляются в выборе. Значения будут привязаны как строки.

+0

Это показывает ошибку на этом. Метод «getContentResolver()» не определен для типа Missedcall.TeleListener и «выбор» не может быть разрешен переменной –

+0

. Просмотрите отредактированный ответ. Надеюсь, это поможет. –

+0

Фактически я должен отправить одно сообщение только после того, как я получил 5 пропущенных звонков с определенного номера, для этого я должен считать нет пропущенного звонка, поэтому, пожалуйста, помогите мне не получить пропущенный звонок –

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

  • Нет связанных вопросов^_^