2010-11-26 2 views
0

У меня есть основной вид деятельности +. Служба вызывает второе действие. - Если main находится на переднем плане, все в порядке. Второе открывается над основным. - Если я закрываю основную кнопку «Назад», тогда вторая открывается над рабочим столом. Это круто. - НО, когда я закрываю главный, переключаясь на рабочий стол (нажмите кнопку «Главная»), тогда второе действие открывается невидимым, и вы можете увидеть его только при переключении на задачу приложения.Android Привести задачу на передний план

Можете ли вы помочь мне перенести мою задачу на передний план в случае, если приложение находится в фоновом режиме? Я попытался сделать вторую деятельность новой задачей, но это не поможет.

ответ

1

Флаг верхней активности в вашей задаче как singleTask, чем отправить какое-либо намерение к этой деятельности, так что все задачи будут принесены на передний план не воссоздавать эту деятельность

+0

Спасибо, я постараюсь! – Vadim 2010-12-18 07:56:40

1

Звучит много, как проблема, которую я имел. Посмотрите на: http://groups.google.com/group/android-developers/browse_thread/thread/183340108cb847fd

Вы можете попробовать установить сродство вашей задачи, как:

<activity android:name="activity_two" android:taskAffinity=""></activity> 

в вашем AndroidManifest.xml (делая свою деятельность свою собственную задачу, как вы говорите).

Если вы не хотите, чтобы другая деятельность, чтобы показать в недавнем списке истории как отдельная задача, вы можете также добавить:

android:excludeFromRecents="true" 

к деятельности в манифесте.

0

Точная же проблема, упомянутая в этом вопросе.

Решил использовать следующий фрагмент кода. i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); который возвращает деятельность на фронт.

Intent i=new Intent(ApplicationStatus.this,NotifyActivity.class); 
        //i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
        i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//optional 
        i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);//will cause it to come to foreground 
        i.putExtra("ID_TimeLeft",String.valueOf(TimeLeft)); 
        startActivity(i);