2010-07-02 4 views
0

J'ai un problème avec ACTION_CALL intention de mon service sur Motorola Milestone après la mise à niveau vers la version 2.1 - mise à jour du firmware1. J'ai un code très simple (travaillé avant).intention ACTION_CALL appelé à partir du service Android sur Motorola Milestone se bloque activité Dial In

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

Maintenant, il ressemble InCallScreen « raccroche » mode audio après ou mis en ActivityManager « blocs » activité InCallScreen Le téléphone ne appel, mais l'écran est noir et verrouillé. Si j'appelle l'intention ACTION_CALL d'une activité, cela fonctionne correctement. Voici le journal:

<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> 

je peux envoyer journal complet, mais il est vraiment grand. Merci d'avance.

Répondre

1

Peut-être que vous devriez appeler comme ceci: Intent dialIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + dialOutNumber));

supprimer le "//".

Regardez votre journal, DEBUG/PhoneUtils(6381): checkAndCopyPhoneProviderExtras: certains extras sont manquants, c'est-à-dire que PhoneUtils est en erreur lors de l'analyse de l'URI. Je vérifie l'URI, et découvre que l'URI n'analyse que les quatre schémas, c'est "tel:" et "voicemail:" et "contact:" et "spi".

Cordialement!

Questions connexes