Попробуйте это;
val appModule = module {
single {
androidApplication().getSharedPreferences("default", Context.MODE_PRIVATE) as SharedPreferences
}
single {
getSharedPreferences(androidApplication()).edit() as SharedPreferences.Editor
}
}
Я думаю, что способ пойти сюда обрабатывает сообщение WM_ACTIVE и затем проверяет, не является ли fMinimized параметр нулем. Можно найти больше информации о том, как объявить, что это обменивается сообщениями в коде в здесь.
Я попробую фигуру, как точно кодировать это в C# и доказать гипотезу. Однако Вы, возможно, быстрее, чем я и понимаете это.
Также проверьте функции DefWindowProc и WindowProc, которые используются для обработки сообщений. Функции объявляются в Вашем коде как это:
Сначала имейте включение:
using System.Runtime.InteropServices;
затем в классе объявляют как это
[DllImport("coredll.dll")]
static extern IntPtr DefWindowProc(IntPtr hWnd, uint uMsg, UIntPtr wParam,
IntPtr lParam);
Существует другая вещь, которую Вы могли сделать, это - больше "философское" обходное решение. INMO, который умные минимизируют X, сбивает с толку пользователей, именно поэтому мне не нравится включать его. Вместо этого я обеспечиваю кнопку в правильном нижнем угле формы, которая говорит "близко" или "назад", который использует близкий метод формы. Я использовал его во всех формах для хранения стандарта. Это менее неоднозначно для пользователей Windows, потому что они могут предположить, что X в Windows Mobile являются теми же X в окнах для ПК.
Если по некоторым причинам необходимо минимизировать приложение или отправить, оно к фону использует следующий код:
using System.Runtime.InteropServices;
...
public partial class Main : Form
{
public Main()
{
InitializeComponent();
}
[DllImport("coredll.dll")]
static extern int ShowWindow(IntPtr hWnd, int nCmdShow);
const int SW_MINIMIZED = 6;
...
...
public void HideForm()
{
ShowWindow(this.Handle, SW_MINIMIZED);
}
}
Под чем точно Вы подразумеваете умно минимизированный? Я предполагаю, что Вы имеете в виду свое приложение, автоматически минимизируемое ни на каком действии в течение некоторого времени? Ну, я не думаю, что существует событие для этого.
Автор этого пятна блога использует событие Deactivate для того, чтобы включить и выключить внутренний процесс. Это приемлемо для анимации и других подобных процессов, и случаи окна сообщения или другого появления формы не являются никакими проблемами. Если однако, Ваш процесс не должен быть остановлен, если приложение не закрывается или 'умный-minimizes', Вы могли попытаться запуститься, таймер на деактивируют события. Если бы форма не активируется назад для определенного интервала, то было бы безопасно остановить внутренний процесс.
Конечно, в разработке Вашего решения необходимо взять власть управление в соображение. Взгляните на это и конечно также OpenNetCF для уведомлений о питании.