2011-08-17 45 views
1

我創建了一個應用程序,該應用程序在我們嘗試撥打電話時成爲其中一個選項。 (例如「使用完整操作」(a)dialer(b)skype(c)myApp)我已經插入了CALL_PRIVILEGED意圖過濾器來完成此操作。如何獲取所選聯繫人的號碼並將其傳遞給活動

這裏是我的AndroidManifest.xml文件

<activity android:name=".OutgoingCallActivity"> 
     <intent-filter android:priority="999"> 
      <action android:name="android.intent.action.CALL_PRIVILEGED" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <data android:scheme="tel"/> 
     </intent-filter> 
    </activity> 

這裏是我的OutgoingCallActivity.java

... 
Intent mIntent = new Intent(android.content.Intent.ACTION_CALL, Uri.parse("tel:" + phoneNumber)); 
    startActivity(mIntent); 
... 

不過,我想能夠捕捉到我所選擇的聯繫人號碼並將其發送到我創建的活動。

String phoneNumber = (get the phone number of the contact that I have selected) 

這怎麼可能?

回答

1

檢查在調試器中啓動OutgoingCallActivity時收到的Intent,它必須位於某處。

+0

謝謝。我能得到這個:08-17 16:20:45.616:INFO/ActivityManager(2475):開始活動:意圖{act = android.intent.action.CALL_PRIVILEGED dat = tel:%2B999999999999 flg = 0x10000000 cmp = android/com.android.internal.app.ResolverActivity}現在,我怎樣才能獲得這些數據? dat = tel:%2B999999999999非常感謝你。 – emmandroid

+0

謝謝!我終於得到它的工作...:P String phoneNumber = getIntent()。getDataString(); 。 – emmandroid

+0

您可以使用這些語句 \t \t \t \t字符串phoneNumber的= getIntent()getDataString提取電話號碼(); \t \t String [] s = phoneNumber.split(「:」); \t \t String ph = Uri.decode(s [1]); –

相關問題