2014-01-25 3 views
0

Мне нужно простое приложение, чтобы убить активность из стека в текущих видимых действиях ... Как реализовать приложение для запуска в фоновом режиме и закрытия действий в запуске приложений?Как выполнить действие кнопки «Назад» в другом приложении?

+1

Каков ваш прецедент? Я не могу придумать причину сделать это, что неплохо. Но в любом случае, к счастью, Android не позволит вам это сделать. – Simon

+0

Вы не можете. Android управляет действиями, если у вас есть лучший способ представить патч. – zapl

+0

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

ответ

1

Предполагая, что это ваши собственные действия, вам нужно объявить действие над активным действием, которое вы хотите закрыть, а затем вызвать это действие из другого приложения. Заключительное мероприятие будет получать уведомления в onNewIntent(), где вы можете проверить действие и вызвать закончить

В закрываемой деятельности:

@Override 
    protected void onNewIntent(Intent intent) { 
     super.onNewIntent(intent); 
     if ("action.action.myactionstring".equals(intent.getAction())) { 
      finish(); 
     } 
    } 

В закрывающиеся деятельности MainFest

<activity android:name=".CloseableActivity" > 
     <intent-filter> 
      <action android:name="action.action.myactionstring" /> 
      ... 
     </intent-filter> 
    </activity> 

В другой деятельность

Intent intent = new Intent("action string"); 
    intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); 
    startActivity(intent); 
+1

Помните, что вам нужно будет запустить целевую активность, используя ['FLAG_ACTIVITY_SINGLE_TOP'] (http://developer.android.com/reference/android/app/Activity.html#onNewIntent%28android.content.Intent%29), чтобы для 'onNewIntent()' для вызова. – user113215

+0

Я обновил ответ на счет для этого :) –

+0

спасибо, но только одно приложение - мое .. Я хочу выполнить обратное действие кнопки в других приложениях – user3235148

0

Вы попробовали finish(); Команда? More Info

+0

finish ... да, но как выполнить это, зная имя пакета или даже самую большую активность из приложения, которое не принадлежит мне. Я хочу просто отправить сигнал другим приложениям, чтобы закрыть самую высокую активность из стека - не очистить весь стек, просто снимите одну сверху. – user3235148

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