01-15-2010 12:20 PM
hi ..i am trying to make call hangup functionality in my device.but it is not working .i have used EventInjector.keyCodeEvent to make the hangup in PhoneListener. i am attaching the source code..
package callHangUp;
import java.util.Timer;
import java.util.TimerTask;
import net.rim.blackberry.api.invoke.Invoke;
import net.rim.blackberry.api.invoke.PhoneArguments;
import net.rim.blackberry.api.phone.AbstractPhoneListener
import net.rim.blackberry.api.phone.Phone;
import net.rim.blackberry.api.phone.PhoneCall;
import net.rim.device.api.applicationcontrol.ApplicationP
import net.rim.device.api.applicationcontrol.ApplicationP
import net.rim.device.api.system.ControlledAccessExceptio
import net.rim.device.api.system.EventInjector;
import net.rim.device.api.system.KeyListener;
import net.rim.device.api.system.KeypadListener;
import net.rim.device.api.system.EventInjector.KeyCodeEve
import net.rim.device.api.ui.Keypad;
import net.rim.device.api.ui.component.Dialog;
public class CustomPhoneListenere extends AbstractPhoneListener implements KeyListener
{
private ApplicationPermissions permissions;
public CustomPhoneListenere()
{
permissions= ApplicationPermissionsManager.getInstance().getApp
}
private void doCallMonitoringOutgoing(int callId)
{
if (permissions.getPermission(ApplicationPermissions.
{
if(Phone.getActiveCall().getStatus() == PhoneCall.STATUS_CONNECTING)
{
injectEndCall();
}
}
}
private void doCallMonitoringIncoming(int callId)
{
injectEndCall();
}
public void callInitiated(int callId)
{
doCallMonitoringOutgoing(callId);
}
public void callIncoming(int callId)
{
doCallMonitoringIncoming(callId);
}
private void injectEndCall()
{
try
{
if(permissions.getPermission(ApplicationPermission
{
EventInjector.KeyCodeEvent pressEndKey = new EventInjector.KeyCodeEvent
(
EventInjector.KeyCodeEvent.KEY_DOWN,(char) Keypad.KEY_END, KeypadListener.STATUS_NOT_FROM_KEYPAD, 10
);
EventInjector.KeyCodeEvent releaseEndKey = new EventInjector.KeyCodeEvent
(
EventInjector.KeyCodeEvent.KEY_UP,(char) Keypad.KEY_END, KeypadListener.STATUS_NOT_FROM_KEYPAD, 10
);
EventInjector.invokeEvent(pressEndKey);
EventInjector.invokeEvent(releaseEndKey);
}
}
catch(ControlledAccessException cae)
{
}
}
public void callEndedByUser(int callId)
{
callDisconnected(callId);
}
public void callFailed(int callId, int reason)
{
callDisconnected(callId);
}
public boolean keyChar(char key, int status, int time)
{
System.out.println(key);
return false;
}
public boolean keyDown(int keycode, int time)
{
// TODO Auto-generated method stub
return false;
}
public boolean keyRepeat(int keycode, int time)
{
// TODO Auto-generated method stub
return false;
}
public boolean keyStatus(int keycode, int time)
{
// TODO Auto-generated method stub
return false;
}
public boolean keyUp(int keycode, int time)
{
// TODO Auto-generated method stub
return false;
}
}
but it is not working.... i am again listing my os version: 4.2.1.93 and platform 2.3.0.77 .................This series of device does not support EventInjector.KeyCodeEvent()?? please help me ........
01-15-2010 01:04 PM
Can you just confirm that you are developing using 4.2.1?
01-15-2010 01:13 PM
no i am using jde 4.5
01-15-2010 01:14 PM - edited 01-15-2010 01:15 PM
no i am using jde 4.5.should i use 4.2.1? ok i am trying by using 4.2.1
01-16-2010 06:34 AM
01-17-2010 12:21 AM
do not have anyone???