1- Как отключить многозадачность? Мое приложение - игра на основе сокетов, каждый раз, когда я запускаю приложение, он ДОЛЖЕН сначала загружать главную страницу, чтобы начать соединение сокета? Я не хочу, чтобы пользователь мог запускать мое приложение в фоновом режиме. Можно ли это сделать?
2- Я не хочу, чтобы пользователь мог использовать кнопку "Назад", чтобы перемещаться между страницами, пользователи должны использовать только кнопки, доступные в моем приложении для навигации? возможно ли это?
Вы можете поймать кнопку "Назад" (и игнорировать ее), но вы не можете заблокировать кнопку "Домой".
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_BACK)
{
return true;
}
...
Помните, что Phone - это просто другое приложение, поэтому эта конструкция ОС предотвращает отключение приложения-изгоя "аспект телефона" устройства.
Если вы хотите, чтобы ваше приложение не работало в фоновом режиме, вы можете закрыть действие из метода onPause():
@Override
protected void onPause()
{
super.onPause();
finish();
}
Это заставит ваше приложение начинать с нуля, если по какой-либо причине оно помещается в фоновом режиме. Это, вероятно, будет вызвано, когда телефон будет усыпан, однако, возможно, это не точное поведение, которое вы ищете.