我有一個收聽來電的廣播接收器。我想調整來電屏幕。現在,我可以提供吐司並將通知添加到通知欄(順便說一下,因爲屏幕已鎖定,用戶無法將其關閉,因此在接受呼叫之前,哪些內容可能會很糟糕)。我試圖顯示一個警報,但它墜毀 - 是不允許的?廣播接收器中的代碼是否有辦法做其他事情,比如更改調用者的頭像或給它起個名字(即使它不存在於聯繫人中)。我們只需說我的廣播接收器攔截了一個電話 - 它是否可以將電話號碼和自定義頭像添加到聯繫人中,以便他們立即顯示在呼叫屏幕中?Android:在通話過程中顯示通知?
您認爲如何?
編輯
我已經測試供應商的代碼,它的工作,但它是不安全的改變從後臺線程的UI,所以我試圖調整自己的代碼位,使其線程安全但由於某種原因,烤麪包不會出現。你怎麼看?
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);
}
}
});
}
我剛剛嘗試了您的代碼,並且在收到呼叫時,將自定義活動顯示一秒鐘,然後顯示常規呼叫屏幕。我根本看不到自定義活動。我使用2.3來測試它在聯結1上。 – Alex1987 2011-04-01 10:39:20
嗨,因爲有些設備在顯示來電活動時有延遲,您可以嘗試在顯示活動之前插入1000ms的睡眠時間。我也有這個問題。 – SirKnigget 2011-04-02 10:42:59
謝謝你,它工作! – Alex1987 2011-04-02 16:56:06