2013-05-15 8 views
0

Я пытаюсь сделать простой проект, который может перенести приложение на фоне с помощьюДовести приложение от фона на передний план

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

и теперь я пытаюсь привести приложение к фронту, показывая на экране автоматически, даже если пользователь не открывал повторно приложение

Например, я установил тайм-аут как 30 секунд, затем закрою приложение (которое фактически перемещено на задний план), через 30 секунд приложение автоматически переместится на передний план и показывает текст «Тайм-аут». Если я играю в игры во время таймаута, игра приостанавливается и отображает страницу Time Out, я пытался найти решения, но результат довольно разочаровывает. ниже приведены коды я использую в настоящее время, чтобы привести страницу на фронт, но это только отображение в приложении, если пользователь не возобновлять приложение, то онли они могут увидеть Time Out страницу в противном случае они не будут знать

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

Я пытался поставить эту строку в моей BroadcastReceiver {context.startService (это, PopOut.class);} , но это показывает, что Метод startService (Intent) в типе Context не применим для аргументов (TextMessageReceiver, Class ) В чем проблема? – Sunny

+1

вы отправляете 2 параметра в метод 'startService', он принимает только одно, намерение. Сначала вы должны создать намерение и после этого отправить его методу 'startService' – bogdan

Смежные вопросы