View Single Post
Old 10-16-2008, 01:26 AM   #1
jeet.bhatt@spec-india.com
Knows Where the Search Button Is
 
jeet.bhatt@spec-india.com's Avatar
 
Join Date: Aug 2008
Location: India
Model: 8100
PIN: N/A
Carrier: Vodafone - India
Posts: 25
Exclamation Call Initiated event generated twice !!!!

Please Login to Remove!

hi all,

in my app, i've registered a phone listener
on outgoing call, callInitiated event is generated twice..very strange !!
while on incoming call, callIncoming event is generated once..which is proper

here i've put the code of my phoneListener class

Code:
package com.spec.bb.callreminder.controller;

import net.rim.blackberry.api.phone.Phone;
import net.rim.blackberry.api.phone.PhoneCall;
import net.rim.blackberry.api.phone.phonelogs.PhoneCallLogID;
import net.rim.blackberry.api.phone.AbstractPhoneListener;

import net.rim.device.api.ui.component.Dialog;
import net.rim.device.api.ui.Ui;
import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.Manager;
import net.rim.device.api.ui.UiEngine;
import net.rim.device.api.system.Bitmap;


public class AddPhoneListener  extends AbstractPhoneListener {
    
    static public void registerOnStartup(){
        AddPhoneListener phone_handler = new AddPhoneListener();
        Phone.addPhoneListener(phone_handler);
        
    }
    
    public AddPhoneListener() {
        util = new UtilityClass(); 
    }
    
    private void checkCall(String ehandler, int callid){
        
        System.out.println("------------------------------>Status:::" + ehandler );
        PhoneCall callInfo = Phone.getCall(callid);
        //ONLY FOR INCOMING/OUTGOING CALL
        if(ehandler.equals("callIncoming") || ehandler.equals("callInitiated")){
            if ( callInfo != null ) {
                System.out.println("------------------------------>Calling:::" + callInfo.getDisplayPhoneNumber());
                    }
                }
            }    
        }
    }
    
    //IMPLEMENTED LISTENER METHODS
    
    // A call has been added to a conference call
    public void callAdded(int callId)
    {  }
    
    // User answered a call
    public void callAnswered(int callId)
    {  }
    
    // Conference call established
    public void callConferenceCallEstablished(int callId)
    {  }
    
    // Network indicates a connected event
    public void callConnected(int callId)
    {  }
    
    // Direct-connect call connected
    public void callDirectConnectConnected(int callId)
    {  }
    
    // Direct-connect call disconnected
    public void callDirectConnectDisconnected(int callId)
    {  }
    
    // Call disconnected
    public void callDisconnected(int callId)
    {  }
    
    // User ended call
    public void callEndedByUser(int callId)
    {  }
    
    // Call has been placed on "hold"
    public void callHeld(int callId)
    {  }
    
    // New call has arrived
    public void callIncoming(int callId)
    { checkCall("callIncoming", callId); }
    
    // Outbound call initiated by the handheld
    public void callInitiated(int callid)
    { checkCall("callInitiated", callid); }
    
    // Call removed from a conference call
    public void callRemoved(int callId)
    {  }
    
    // Call taken off of "hold"
    public void callResumed(int callId)
    {  }
    
    // Call is waiting
    public void callWaiting(int callid)
    {  }
    
    // Conference call has been terminated
    // (all members disconnected)
    public void conferenceCallDisconnected(int callId)
    {  }
    
    // Call failed
    public void callFailed(int callId, int reason)
    {  }
}

any Idea/suggestions???
__________________
Jeet
ORG::SPEC India
Ahmedabad. India
Offline   Reply With Quote