Android: Восстановление активного Действия при возобновлении приложения

Мы можем сделать это с помощью Event Macro . Поместите следующий код в область кода рабочего листа:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim C1 As Range, C2 As Range
    Set C1 = Range("C1")
    Set C2 = Range("C2")

    If Intersect(Target, C2) Is Nothing Then Exit Sub
    If C2.Value = "" Then Exit Sub

    Application.EnableEvents = False
        C2.Copy C1
    Application.EnableEvents = True
End Sub

Поскольку это код рабочего листа, его очень просто установить и использовать автоматически:

    [114 ] щелкните правой кнопкой мыши имя вкладки в нижней части окна Excel
  1. выберите View Code - откроется окно VBE
  2. , вставьте материал и закройте окно VBE
  3. [1110 ]

    Если у вас есть какие-либо проблемы, сначала попробуйте их на пробном листе.

    Если вы сохраните книгу, макрос будет сохранен вместе с ней. Если вы используете версию Excel более поздней, чем в 2003 году, вы должны сохранить файл как .xlsm, а не .xlsx

    Чтобы удалить макрос:

    1. откройте окна VBE, как указано выше
    2. , очистите код
    3. закройте окно VBE

    Чтобы узнать больше о макросах в целом, см .:

    [ 1118] http://www.mvps.org/dmcritchie/excel/getstarted.htm

    и

    http://msdn.microsoft.com /en-us/library/ee814735(v=office.14).aspx

    Чтобы узнать больше о макросах событий (код листа), см.

    http: //www.mvps.org/dmcritchie/excel/event.htm

    Для работы этого макроса необходимо включить макросы!

6
задан Ömer 7 April 2009 в 16:41
поделиться

2 ответа

Править: Найденный решением Вашей проблемы несколько случайным образом сегодня! См. это сообщение об ошибке. Это объясняет Вашу проблему точно. Причина я не мог воспроизвести проблему, у меня никогда нет запуска Eclipse приложение непосредственно. Я использую Eclipse, чтобы установить приложение и затем запустить его сам.


Это уже - поведение по умолчанию для приложений Android, никакие специальные приемы не требуются, чтобы достигать этого. Я удивлен, что Ваше приложение не демонстрирует это поведение. Каждое приложение Android поддерживает стек Activity, буквально стек LIFO операций. Эти операции могут быть далее сгруппированы в задачи, но 99% приземленных приложений ничего никогда не должны будут знать о задачах, по моему опыту.

При нажатии кнопки "Домой" стопка целого приложения помещается в фон. В то время как в фоновом режиме, это может быть уничтожено для проблем памяти в любое время, но если не много времени протекает, прежде чем это будет восстановлено, это обычно не уничтожается и не должно быть воссоздано. При выборе приложения снова стек (или более точно, только главный объект на стеке) восстанавливается.

Если Ваше приложение не показывает это поведение, я подозреваю, что оно имеет некоторое отношение, как Вы запускаете mainActivity и childActivity и любые дополнительные Поглощенные флаги, которые можно использовать. Шанс Вы можете отрывки почтового индекса о том, как Вы запускаете mainActivity и childActivity?

3
ответ дан 17 December 2019 в 20:35
поделиться

Я вернулся и протестировал с аналогичным приложением, и даже когда процесс вытесняется из памяти, ChildActivity восстанавливается автоматически, как говорит Сонил. Вы видите это на эмуляторе или на реальном устройстве?

Если вы запустите свое приложение и посмотрите logcat, то после запуска приложения вы должны увидеть что-то похожее на следующее, затем откройте ChildActivity и нажмите Home, а затем запустите действие еще раз:

Начальное действие: намерение {action = android.intent.action.MAIN Categories = {android.intent.categroy.LAUNCHER} flags = ... comp = {com.yourpackagename.MainActivity}} Запустите proc для активности yourpackagename.ChildActivity: pid = x uid = y gids = {} Отображаемое действие /.ChildActivity

. Не могли бы вы опубликовать вывод logcat, если вы не видите ожидаемого поведения?

-1
ответ дан 17 December 2019 в 20:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: