Android:当用户在联系人列表中选择一个号码(他希望呼叫)时检测到?

时间:2010-09-06 18:33:19

标签: android service contacts

当用户从手机的联系人列表中选择一个电话号码(他希望通话)时,我正试图让“后台服务”得到“通知”。我的目标是阻止系统发出呼叫并向用户显示选择对话框,然后从那里开始......需要帮助。

1 个答案:

答案 0 :(得分:2)

我找到了一种做我昨天要求的方法,所以我在这里分享给任何有兴趣的人。诀窍是,抓住BroadcastReceiver中的NEW_OUTGOING_CALL广播意图,而不是我所想的任何与选择联系人有关的事件。

所以......按照步骤进行操作。

在AndroidManifest.xml文件的application元素中添加一个receiver元素... android:name属性是将从BroadcastReceiver扩展的类(如下所述)。

<receiver android:name=".OutgoingCallDetection">

<action android:name="android.intent.action.NEW_OUTGOING_CALL"
  android:priority="0" />

啊!你需要特别许可......

<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />

类中的onReceive方法,它扩展了BroadcastReceiver(本例中为OutgoingCallDetection)。请注意,setResultData(null)是阻止系统自身进行调用的原因。

public void onReceive(Context arg0, Intent arg1) {

    setResultData(null);

    // Start an activity and then show a dialog, or something...

}

在这里,并根据需要工作。

相关问题