Issue related to phoneListener
hi,
In my application i used KeyListener and PhoneListener, downkey from KeyListener works fine but when i use callConnected or callDisconnected or callEndedByUser it does not give any response. below is the code for reference import javax.microedition.lcdui.*; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeExcepti on; import net.rim.device.api.system.Application; import net.rim.device.api.system.KeyListener; public class NewBuild extends MIDlet implements KeyListener{ MyCanvas canvas; Display display; protected void destroyApp(boolean arg0) throws MIDletStateChangeException { } protected void pauseApp() { } protected void startApp() throws MIDletStateChangeException { Application.getApplication().addKeyListener(this); display=Display.getDisplay(this); this.canvas=new MyCanvas(); display.setCurrent(canvas); } public boolean keyChar(char arg0, int arg1, int arg2) { return false; } public boolean keyDown(int arg0, int arg1) { Alert alert = new Alert("Keycode"); alert.setString ("KeyCode:"+arg0); Display.getDisplay(this).setCurrent(alert); return false; } public boolean keyRepeat(int arg0, int arg1) { return false; } public boolean keyStatus(int arg0, int arg1) { return false; } public boolean keyUp(int arg0, int arg1) { return false; } } import javax.microedition.lcdui.Alert; import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Graphics; import net.rim.blackberry.api.phone.PhoneListener; import net.rim.device.api.system.*; public class MyCanvas extends Canvas implements Runnable,CommandListener,KeyListener,PhoneListener { NewBuild midlet; Display display; protected void paint(Graphics g) { g.setColor(255,255,255); g.fillRect(0, 0, getWidth(), getHeight()); g.setColor(0,0,0); g.drawString("Hello J2me with external RIM API`s" + Application.getApplication().isForeground(), 0, 0, 0); } public boolean keyChar(char arg0, int arg1, int arg2) { // TODO Auto-generated method stub return false; } public boolean keyDown(int arg0, int arg1) { showAlert("Key listener", "arg0 = " + arg0 + " arg1 = " + arg1); //handle RED button if(arg0 == 1179648){ showAlert("Main Midlet","Red Button"); //midlet.exitApp(); return true; } // TODO Auto-generated method stub return false; } public boolean keyRepeat(int arg0, int arg1) { // TODO Auto-generated method stub return false; } public boolean keyStatus(int arg0, int arg1) { // TODO Auto-generated method stub return false; } public boolean keyUp(int arg0, int arg1) { // TODO Auto-generated method stub return false; } public void callAdded(int arg0) { // TODO Auto-generated method stub } public void callAnswered(int arg0) { // TODO Auto-generated method stub } public void callConferenceCallEstablished(int arg0) { // TODO Auto-generated method stub } public void callConnected(int arg0) { showAlert("Call Info","callConnected in RIM "); // TODO Auto-generated method stub } public void callDirectConnectConnected(int arg0) { // TODO Auto-generated method stub } public void callDirectConnectDisconnected(int arg0) { showAlert("Call Info","callConnectDisconnected"); // TODO Auto-generated method stub } public void callDisconnected(int arg0) { showAlert("Call Info in RIM","callDisConnected in RIM"); // TODO Auto-generated method stub } public void callEndedByUser(int arg0) { showAlert("Call Info in RIM","callEndedByUser in RIM"); // TODO Auto-generated method stub } public void callFailed(int arg0, int arg1) { // TODO Auto-generated method stub } public void callHeld(int arg0) { showAlert("Call Info","callHeld in RIM"); // TODO Auto-generated method stub } public void callIncoming(int arg0) { showAlert("Call Info","callIncoming in RIM"); } public void callInitiated(int arg0) { showAlert("Call Info","callInitiated in RIM"); // TODO Auto-generated method stub } public void callRemoved(int arg0) { // TODO Auto-generated method stub } public void callResumed(int arg0) { // TODO Auto-generated method stub } public void callWaiting(int arg0) { showAlert("Call Info","callWaiting"); // TODO Auto-generated method stub } public void conferenceCallDisconnected(int arg0) { // TODO Auto-generated method stub } protected void show(Displayable disp){ display.setCurrent(disp); } public void showAlert(String title,String msg){ // create Alert object with title Alert alert = new Alert(title); // set the message body to the Alert alert.setString (msg); alert.setTimeout (Alert.FOREVER); show(alert); } public void run() { // TODO Auto-generated method stub } public void commandAction(Command arg0, Displayable arg1) { // TODO Auto-generated method stub } } thanks ajj |
slightly off-topic: if you use abstractphonelistener you don't have to implement all the empty methods -> tidy code
|
All times are GMT -5. The time now is 09:22 AM. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.