Чувствительные к нагреву проблемы совместимости - PullRequest
4 голосов
/ 13 февраля 2012

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

if(event.getAction()==MotionEvent.ACTION_MOVE)
{
    lockdown=true;
}
else if(event.getAction()==MotionEvent.ACTION_UP && lockdown==false)
{
     ...
}
else if(event.getAction()==MotionEvent.ACTION_UP)
{
    ...
    lockdown=false;
}

Этот код работает на телефоне с сенсорным нажатием, как у меня, просто отлично.Он спроектирован так, что при перетаскивании касания определенные вещи не будут работать.Я мог бы действительно использовать некоторое понимание того, как решить эту проблему.

1 Ответ

2 голосов
/ 15 февраля 2012

после изнурительной ночи, когда я возвращался туда и обратно с моими тестерами, вот что я придумала

// somewhere in the prior code a pressure sample is needed
public float dwnPressure
if(event.getAction()==MotionEvent.ACTION_DOWN)
{
 dwnPressure=float(event.getPressure()*0.99)
}

назад к коду, где у меня были проблемы

if(event.getAction()==MotionEvent.ACTION_MOVE)
{
 if(event.getPressure>dwnPressure)
 {
  lockdown=true;
 }
}
else if(event.getAction()==MotionEvent.ACTION_UP && lockdown==false)
{
 ...
}
else if(event.getAction()==MotionEvent.ACTION_UP)
{
...
 lockdown=false;
}

это изменениеотлично работает на некоторых телефонах, у которых была проблема ранее.В некоторых телефонах наблюдается значительное улучшение производительности, но это немного привередливо.Я подумал, что id, по крайней мере, разделяет мою тяжелую работу, даже если это не 100%, так как на этот вопрос не ответили так быстро, как я привык к stackoverflow

...