Android чтение пользовательского ввода в сервисе

Я хочу написать приложение для Android, которое будет фоновым сервисом, который будет прослушивать определенный жест или нажатие клавиши в, а затем запускать действие. Можно ли вообще сделать такое с помощью сервиса? Если так, то кто-нибудь может направить меня в правильном направлении. У меня может быть поиск высокого и низкого может найти ответ.

 Janusz21 сент. 2010 г., 09:53
Как правило, вы не должны иметь возможность фиксировать жесты или нажатия клавиш из службы. Взгляните на панель поиска жестов Google. Они используют долгое нажатие на кнопку поиска, чтобы открыть действие, которое затем фиксирует жест. Но я не знаю, какое намерение или сигнал они используют, чтобы получать уведомления о долгой поисковой прессе.

Ответы на вопрос(2)

не трудно прочитать, где они касаются, но касания таким образом обеспечивают только местоположение, а не время, а не взлеты и падения.

к вашим услугам

@Override
public void onDestroy() {
    super.onDestroy();
    if (layout != null) {
        ((WindowManager) getSystemService(WINDOW_SERVICE)).removeView(layout);
        layout = null;
    }
}
@Override
public void onCreate() {
    super.onCreate();
    layout = new RelativeLayout(this);
    WindowManager.LayoutParams params = new WindowManager.LayoutParams(WindowManager.LayoutParams.WRAP_CONTENT,
                WindowManager.LayoutParams.WRAP_CONTENT,
                WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
                        WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
                PixelFormat.TRANSLUCENT);
    params.setTitle("test");
    WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
    wm.addView(layout, params);
}

и для вашего сенсорного обработчика, он должен быть как

public boolean gestureHandler(MotionEvent event, boolean eat) {
        if(event.getAction() == MotionEvent.ACTION_OUTSIDE)
 Dakun Skye07 авг. 2012 г., 06:47
обновление могло сломать это.
 FoamyGuy02 авг. 2012 г., 19:46
Диспетчер окон не позволит вам добавлять представления из службы ... Этот код вызывает исключение.

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

Другими словами, вы можете с трудом сделать это на своем мобильном телефоне или на устройствах, которые вы производите, но это не подходит для большинства людей.

Ваш ответ на вопрос