0

I have a problem with ACTION_CALL intent from my service on Motorola Milestone after upgrade to 2.1 - update1 firmware version. I have a very simple (worked before) code.

Intent dialIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel://" 
+ dialOutNumber)); 
dialIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(dialIntent); 

Now it looks like InCallScreen "hangs up" after set audio mode or ActivityManager "blocks" InCallScreen activity The phone does call, but the screen is black and locked. If I call ACTION_CALL intent from an activity it works all right. Here is the log:

<p>07-01 00:42:39.617: INFO/ActivityManager(1282): Starting activity: 
Intent { act=android.intent.action.CALL dat=tel:5247519 flg=0x10000000 
cmp=com.android.phone/.OutgoingCallBroadcaster } 
07-01 00:42:39.664: DEBUG/PhoneUtils(6381): 
checkAndCopyPhoneProviderExtras: some or all extras are missing. 
... 
07-01 00:42:40.679: DEBUG/InCallScreen(6381): placeCall()...  intent = 
Intent { act=android.intent.action.CALL dat=tel:5247519 flg=0x10800000 
cmp=com.android.phone/.InCallScreen (has extras) } 
07-01 00:42:40.679: DEBUG/InCallScreen(6381): 
checkIfOkToInitiateOutgoingCall: ServiceState = 0 
07-01 00:42:40.679: DEBUG/PhoneUtils(6381): placeCall: '5247519'... 
... 
07-01 00:42:40.710: DEBUG/PhoneUtils(6381): ===> phone.dial() 
returned:  incoming: false state: DIALING post dial state: NOT_STARTED 
07-01 00:42:40.710: DEBUG/PhoneUtils(6381): 
setAudioMode(MODE_IN_CALL)... 
07-01 00:42:40.710: DEBUG/AudioHardwareMot(1055): 
AudioMgr:setMode(IN_CALL) 
07-01 00:42:40.710: DEBUG/AudioHardwareMot(1055): AudioMgr:setMode 
MODE_IN_CALL 
07-01 00:42:40.710: INFO/MYPhoneService(6437): Telephony OFFHOOK 
... 
Here the screen is black and locked ~ 3 min. Only status panel 
available. Call ends. After some timeout see InCallScreen... If start 
from the Activity - the InCallScreen apears right after call start. 
... 
07-01 00:45:14.031: DEBUG/InCallScreen(6381): placeCall: 
PhoneUtils.placeCall() succeeded for regular call '5247519'. 
07-01 00:45:14.031: DEBUG/DTMFTwelveKeyDialer(6381): closeDialer()... 
07-01 00:45:14.031: DEBUG/DTMFTwelveKeyDialer(6381): clearDigits()... 
07-01 00:45:14.031: DEBUG/PhoneApp(6381): updateProximitySensorMode: 
state = OFFHOOK 
07-01 00:45:14.031: DEBUG/PhoneApp(6381): updateProximitySensorMode: 
lock already released. 
07-01 00:45:14.031: DEBUG/PhoneApp(6381): isInDockMode bInDockMode 
is : false 
07-01 00:45:14.039: DEBUG/StatusBar(1282): DISABLE_EXPAND: yes </p>

I can send full log, but it is really big. Thanks, in advance.

Sotiris
  • 38,986
  • 11
  • 53
  • 85
user190650
  • 11
  • 1
  • 3

1 Answers1

1

Maybe you should call like this: Intent dialIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + dialOutNumber));

delete the "//".

Look at your log, DEBUG/PhoneUtils(6381): checkAndCopyPhoneProviderExtras: some or all extras are missing,that's to say PhoneUtils run into error when parse the URI. I check the URI,and find out the URI only parse four scheme,it's 'tel:' and 'voicemail:' and 'contact:' and 'spi' .

Regards!

Sotiris
  • 38,986
  • 11
  • 53
  • 85
Wang Carl
  • 11
  • 2