从Android拨号中获取号码?

时间:2013-02-12 09:17:45

标签: android

我正在开发一个应用程序,我必须使用我的PHP服务器从我的应用程序调用。

我的条件是,每当用户按下Android设备的绿色呼叫按钮并拨打号码后,我必须为用户提供从我的应用程序或普通SIM卡进行呼叫的选项。我也是这样做的。 现在我希望在切换到应用程序之前获取我在拨号器上拨打的号码

表示如果用户选择我的应用程序进行呼叫,则必须在电话拨号上拨打号码。

我使用以下代码生成弹出窗口以使用我的应用程序进行调用。代码在特定活动中的清单中写为Intent过滤器。

<activity
            android:name="com.tv.longdistcall.PlaceLongDistCall"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.NoTitleBar" >
            <intent-filter>
                <action android:name="android.intent.action.CALL_BUTTON" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.CALL_PRIVILEGED" />

                <category android:name="android.intent.category.DEFAULT" />

                <data android:scheme="tel" />
            </intent-filter>
        </activity>

在切换到活动之前,请建议我如何获取拨号器上拨打的号码

1 个答案:

答案 0 :(得分:0)

您需要使用NEW_OUTGOING_CALL意图过滤器创建新的BroadcastReceiver。该接收器拦截对设备上的CALL_PRIVILEGED或CALL操作的每次调用,无论该目标应用是什么。

目的地号码可以在Intent.EXTRA_PHONE_NUMBER的接收者意图附件中找到。