У меня есть приемник вещания, который прослушивает входящие звонки.И я хочу настроить экран входящего вызова.Прямо сейчас я могу представить тосты и добавить уведомления на панель уведомлений (кстати, пользователь не может опустить его, потому что экран заблокирован, прежде чем принять вызов, что вроде отстой).Я пытался показать оповещение, но оно вылетело - это не разрешено?Есть ли способ для кода в приемнике вещания делать другие вещи, такие как изменение аватара вызывающего абонента или присвоение ему имени (даже если его нет в контактах).Скажем так, мой приемник вещания перехватывает вызов - может ли он добавить номер телефона и пользовательский аватар в контакты, чтобы они сразу же отображались на экране вызова?
Что ты думаешь?
Редактировать
Я протестировал код поставщика, и он сработал, но изменить интерфейс пользователя из фонового потока небезопасно, поэтому я попытался немного изменить его кодсделать это потокобезопасным, но тост не появляется по какой-то причине.Как вы думаете?
private Handler handler = new Handler();
private void showToast() {
Thread thread = new Thread(null, doBackgroundThreadProcessing, "Background");
thread.start();
}
private Runnable doBackgroundThreadProcessing = new Runnable() {
public void run() {
backgroundThreadProcessing();
}
};
private void backgroundThreadProcessing() {
handler.post(new Runnable() {
public void run() {
int count = 0;
try{
while (count < 10) {
toast.show();
Thread.sleep(1850);
count++;
}
}
catch(Exception e){
Log.e("LongToast", "", e);
}
}
});
}