все, что я новичок в Android, и теперь я столкнулся с странной проблемой, проблема в том, что
"Получение TCP-сообщения, а затем изменение цвета фона графического интерфейса не влияет, как только экран был повернут".
Что я хочу архивировать:
Попросите приложение APP, работающее на устройстве Android, подключиться к ПК через TCP. ПК может отправить строку в APP, тогда APP сделает что-то на основе полученной строки. В этом случае строка "изменить цвет фона земли на красный (с вибрацией телефона)/черный" отправляется в APP через TCP, поэтому пользователь Android увидит ослепляющий эффект с вибрацией.
В чем проблема:
Я могу архивировать то, что хочу. Но как только экран повернут, цвет не может быть изменен, останется только вибрация.
Что я пробовал:
Я помещаю кнопку на APP, которая вручную инициирует событие изменения цвета (с вибрацией). Он отлично работает, даже если я поворачиваю экран.
Дальнейший тест показывает, что пользовательский интерфейс, такой как цвет фона и анимация изменения, вызванный чтением TCP, исчез, однако мелодия и вибрация остаются неизменными.
Я загружаю видео на Youtube http://youtu.be/n0gxXzzf-bo
Ниже приведены java-код, кнопка и TCP-вызов того же метода: ChangeColor()
public void ChangeColor(){
Thread t= new Thread(new ChangeColorTest());
t.start();
}
public class ChangeColorTest implements Runnable{
public void run() {
try {
for(int i=0;i<3;i++){
mBlinkHandler.sendEmptyMessageDelayed(1, 0);
Thread.sleep(300);
mBlinkHandler.sendEmptyMessageDelayed(2, 0);
Thread.sleep(300);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
Handler mBlinkHandler = new Handler(){
@Override
public void handleMessage(Message msg){
super.handleMessage(msg);
// mScreen = (LinearLayout)findViewById(R.id.mylinerlayout);
if(msg.what==1){
mScreen.setBackgroundColor(Color.RED);
Vibratoration();
}else if(msg.what==2){
mScreen.setBackgroundColor(Color.BLACK);
}
}
};
Что я хочу знать?
Если бы кто-то мог найти решение, было бы очень полезно.
Что такое платформа? Сервер ПК: Win7 64bits VS2010 С# Android-платформа: 4.0 Samsung S2 Разработка IDE: Motodev SDK API: Android 3