2013-05-15 20 views
0

我試圖做一個簡單的項目,可以通過使用把應用程序從後臺到前端

public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if(keyCode == KeyEvent.KEYCODE_BACK){ 
     moveTaskToBack(true); 
    } 
    return super.onKeyDown(keyCode, event); 
} 

移動應用背景,現在我試圖把應用程序前,在屏幕上顯示自動即使用戶沒有重新打開應用程序

例如,我將超時設置爲30秒,然後關閉應用程序(實際移動到後臺),30秒後,應用程序將自動移動到前端並顯示文本「超時」。如果我在超時時間玩遊戲,遊戲會暫停並顯示超時頁面,我試圖尋找解決方案,但結果令人非常失望。以下是我現在用帶來的頁面到前面的代碼,但它只是在應用程序中顯示,除非用戶重新打開應用程序,然後ONLI他們可以看到超時頁面,否則他們不會知道

Intent intent = new Intent("com.lolcash.lol.PopOut"); 
     intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_SINGLE_TOP|Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
     startActivity(intent); 

有沒有其他方法可以做到這一點?

回答

1

嘗試創建一個service,這將在後臺運行。當您想將活動提前時,您可以從Service開始。 另一種解決方案是用消息顯示notification,當用戶點擊它時,你可以將他帶到應用程序。

+0

讓我試試先:) 會問你更多,如果有任何問題〜 感謝雅 – Sunny

+0

我試圖把此行中我的廣播接收器{context.startService(這一點,PopOut.class);} 但它表明 類型Context中的startService(Intent)方法不適用於參數(TextMessageReceiver,類) 有什麼問題? – Sunny

+1

您正在向方法'startService'發送2個參數,它只接受一個,意圖。你應該首先創建意圖,然後將它發送到'startService'方法 – bogdan

相關問題