Вадим, читал про это. На некоторых телефонах можно получить номер текущей сотовой вышки, но это мало на каких мобилах работает. Со смартфонами попроще =)
Strelok, я в Java делаю примерно так:
private final int LEFT,RIGHT,DOWN,UP,FIRE,SOFT_LEFT,SOFT_RIGHT;
private boolean getCode(int i){
try{
if(getKeyName(i).toUpperCase().indexOf("SOFT")!=-1) return true; else return false;
}catch(Exception ex){
return false;
}
}
private void setKeyCode(){
if(getCode(-1)){ // (Siemens)
LEFT=-61;
RIGHT=-62;
DOWN=-60;
UP=-59;
FIRE=-26;
SOFT_LEFT=-1;
SOFT_RIGHT=-4;
}else if(getCode(21)){ // (Motorola)
LEFT=2;
RIGHT=5;
DOWN=6;
UP=1;
FIRE=20;
SOFT_LEFT=21;
SOFT_RIGHT=22;
}else{ // default (Nokia, SE)
LEFT=-3;
RIGHT=-4;
DOWN=-2;
UP=-1;
FIRE=-5;
SOFT_LEFT=-6;
SOFT_RIGHT=-7;
}
}
Меня устраивает. Работает на большинстве современных популярных телефонах. На сименсах, моторолах, нокиях, сони эриксонах, гинзе кроме того скорее всего на самсунгах, пантеках. Под все телефоны всё равно не сделать, я в этом уже убедился. Везде пишут, что это плохо - пытаться сделать супер мидлет, который пойдёт на всех телефонах, ничего хорошего из этого не выйдет, только код сложнее станет. Да и вообще, владельцы малораспространённых телефонов уже знают, на что идут, когда устанавливают очередное приложение себе на телефон. С их стороны быть увереным, что оно пойдёт как надо - это мало сказать легкомысленно =) Они привыкли, что у них большинство приложений не идёт или идёт не так, как надо. Я придерживаюсь такой точки зрения.