0

升级到 2.1 - update1 固件版本后,我在 Motorola Milestone 上的服务存在 ACTION_CALL 意图问题。我有一个非常简单(以前工作过)的代码。

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

现在看起来 InCallScreen 在设置音频模式或 ActivityManager “阻止” InCallScreen 活动后“挂断”电话确实通话,但屏幕为黑色并锁定。如果我从一个活动中调用 ACTION_CALL 意图,它就可以正常工作。这是日志:

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

我可以发送完整的日志,但它真的很大。提前致谢。

4

1 回答 1

1

也许你应该这样称呼: Intent dialIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + dialOutNumber));

删除“ //”。

查看您的日志, DEBUG/PhoneUtils(6381): checkAndCopyPhoneProviderExtras:缺少部分或全部附加内容,即PhoneUtils 在解析URI 时出错。我检查了 URI,发现 URI 只解析四种方案,它是 'tel:' 和 'voicemail:' 和 'contact:' 和 'spi' 。

问候!

于 2011-05-30T08:54:34.690 回答