2009-07-21 59 views
8

我寫了一個J2ME應用程序,它使用藍牙並在對等移動設備中搜索文件並下載它。我想讓我的應用程序在後臺運行,無論何時我接到一個電話或消息,並在稍後幾秒鐘後恢復,有沒有人在此工作,請分享您的經驗。有沒有辦法在後臺運行Midlet?如何在後臺運行J2ME應用程序?

+0

已經有http://stackoverflow.com/questions/1084384/how-do-i-minimize-a-j2me-app – 2009-07-21 05:55:03

回答

10

設置一個J2ME應用程序在後臺使用你的MIDlet類中的以下內容:

  Display.getDisplay (this).setCurrent (null); 

讓屏幕的背面使用以下命令:

  Display.getDisplay (this).setCurrent (myCanvas); 

哪裏myCanvas是你的畫布實例

R

ps您仍然可以使用線程或計時器在隱藏midlet的同時在後臺執行某些操作。

p.s.2:這不適用於所有型號。 (適用於諾基亞s60,索尼愛立信,但不適用於諾基亞s40,三星等)

2

設備在後臺運行應用程序的能力取決於它的多任務能力,因此,更昂貴的PDA型設備更有可能支持後臺執行低於成本的設備 對於背景: - 。

private Display display = Display.getDisplay(this); 
private Displayable previousDisplayable; 

public void toBack() { 
previousDisplayable = display.getCurrent(); 
display.setCurrent(null); 
} 

而且進來富勒地: -

public void toFront() { 
display.setCurrent(previousDisplayable); 
} 

但請注意,它不支持所有設備。 (適用於Nokia S60,SonyEricss上,但不是在諾基亞S40,三星和其他一些)。