Справочная информация:
Недавно я приобрел планшет Motorola XOOM вместе с настольной док-станцией и аксессуарами для клавиатуры Bluetooth.
Док-станция и клавиатура работают отлично, но когда я снимаю планшет с док-станции, чтобы отодвинуться от стола, клавиатура по-прежнему остается сопряженной с устройством, и мне приходится вручную изменять настройки, чтобы использовать программную клавиатуру. То же самое относится и к тому, что когда я снова установил его на док-станцию, мне нужно вручную переключить его обратно. Это не огромная проблема, но было бы неплохо не думать об этом.
Поэтому я попытался загрузить с рынка приложение, которое просто включало и выключало Bluetooth при подключении или отключении от источника питания, что некоторое время работало хорошо, но через некоторое время фоновая служба перестала работать и стала бесполезной, пока я не перезапустил вручную. тот.
ТОЧКА: я пытаюсь написать небольшое приложение / сервис для своего планшета, который будет распознавать, когда он был подключен / отстыкован, и соответственно переключать настройку «Использовать физическую клавиатуру».
Я начал с BroadcastReciever для распознавания состояния док-станции:
public class DockBroadcastReciever extends BroadcastReceiver {
private final String DOCK_STATE_LABEL = "android.intent.extra.DOCK_STATE";
@Override
public void onReceive(Context context, Intent intent) {
Bundle extras = intent.getExtras();
String message = (extras.getInt(DOCK_STATE_LABEL) == Intent.EXTRA_DOCK_STATE_UNDOCKED) ? "Undocked" : "Docked";
Toast toast = Toast.makeText(context, message, Toast.LENGTH_LONG);
toast.show();
}
}
Но у меня возникают проблемы с поиском наилучшего способа обновления настроек после запуска события. Я просмотрел несколько примеров, используя InputMethodManager , но все методы, кажется, нуждаются в определенном EditText или некотором другом входе для привязки.
Более того, я не могу найти соответствующую константу, которая представляет эту настройку где-либо в документации, но графически она находится здесь: http://i.stack.imgur.com/esFaw.png
Может кто-нибудь помочь мне с этим?
Я бы хотел, чтобы было решение для изменения настроек, но я открыт и для других идей.