Я пытаюсь сохранить подробную информацию о вызывающем абоненте - имя, номер и время - в трех разных arraylists, пока телефон все еще звонит. Если вызывающий абонент не находится в контактах, имя сохраняется «Имя недоступно». Вот код -Невозможно получить и сохранить информацию о вызывающем абоненте во время звонка
//code from the onReceive() function.
getDetails(name, inNumber);
telephonyService.endCall();
openWhatsAppContact(inNumber, mContext);
saveLogName.edit().putString("logName", TextUtils.join(",", logName)).apply();
saveLogNumber.edit().putString("logNumber", TextUtils.join(",", logNumber)).apply();
saveLogTime.edit().putString("logTime", TextUtils.join(",", logTime)).apply();
} catch (Exception e) {
e.printStackTrace();
}
}
void getDetails(String name, String number){
if(name == "?"){
logName.add("Name unavailable");
}else{
logName.add(name);
}
Log.d(TAG, TextUtils.join(",", logName));
logNumber.add(number);
Log.d(TAG, TextUtils.join(",", logNumber));
Time now = new Time();
now.setToNow();
logTime.add(now.toString());
Log.d(TAG, TextUtils.join(",", logTime));
}
При вызове getDetails()
, ничего не происходит, я знаю, что это из-за заявления журнала внутри функции. Кроме того, ни один из кода после вызова getDetails()
не реализован. Что я делаю не так? Есть ли лучший способ сделать то, что я пытаюсь сделать?
AndroidManifest разрешения -
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.CALL_PHONE" android:required="true" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
Вы установили разрешения манифеста? я могу видеть разрешения? – j2emanue
@ j2emanue Сделано. Код работал нормально, прежде чем добавить функцию 'getDetails()'. Он отклонил призывы по своему усмотрению. Я отредактировал описание и добавил разрешения, как вы просили. – Slay
Вы в конечном итоге его исправили? – j2emanue