2012-10-22 65 views
1

我創建了一個簡單的應用程序調用每當phonecall發起或接收browserfield內的URL訪問,但是我不斷獲取異常:UI引擎無需將事件鎖定

UI引擎訪問沒有保持事件鎖定。

我在某處讀過我必須利用全局事件,但我不知道該怎麼做。我一直在這方面努力了很長時間,並希望得到的任何幫助,以獲得加載時,呼叫或打電話沒有出現錯誤的網址。

我的代碼:

public class BackgroundApp extends MainScreen implements PhoneListener { 

    BrowserField bf = new BrowserField(); 

    public BackgroundApp(){ 
     super(); 
     Phone.addPhoneListener(this); //Phonelistener added to code 
     add(bf); 
    } 

    public void callIncoming(int callId) { //Method to listen for an incoming call and get the number 
     try { 
      bf.requestContent("http://www.yahoo.com/"); 
     } catch (Exception me) { 
      me.printStackTrace(); 
     } 
    } 

    public void callAdded(int arg0) {} 
    public void callAnswered(int callId) {} 
    public void callConferenceCallEstablished(int callId) {} 
    public void callConnected(int callId) {} 
    public void callDirectConnectConnected(int callId) {} 
    public void callDirectConnectDisconnected(int callId) {} 
    public void callDisconnected(int callId) {} 
    public void callEndedByUser(int callId) {} 
    public void callFailed(int callId, int reason) {} 
    public void callHeld(int callId) {} 

    public void callInitiated(int callid) { 
     try { 
      bf.requestContent("http://www.google.com/"); 
     } catch (Exception me) { 
      me.printStackTrace(); 
     } 
    } 

    public void callRemoved(int callId) {} 
    public void callResumed(int callId) {}/
    public void callWaiting(int callid) {} 
    public void conferenceCallDisconnected(int callId) {} 

    public boolean onClose() { 
     System.exit(0); 
     return true; 
    } 
} 
+1

嘗試'UiApplication.getInstance()ru​​nOnUithread()'回調中更新瀏覽器領域。 –

回答

0

替換此

bf.requestContent( 「東西」);

synchronized (UiApplication.getEventLock()) 
{ 
    bf.requestContent("http://www.yahoo.com/"); 
} 

或使用這樣的:

synchronized (UiApplication.getEventLock()) 
{ 
    UiApplication.getUiApplication().invokeLater(new Runnable() 
    { 
     public void run() 
     { 
      bf.requestContent("http://www.yahoo.com/"); 
     } 
    }); 
} 
+0

我試過了,仍然給我同樣的錯誤。 – BirthOfTragedy

+0

我編輯檢查過一次。 – alishaik786