在安卓系统中拨打电话时启动应用程序

4

我正在执行一个任务,当我在拨号器中拨打特定的数字(例如123)时,会打开一个新的活动。如果拨打其他数字,则会进行通话。在拨打123时询问是否呼叫或打开应用程序。因此,请告诉我如何执行此操作。

提前感谢您的帮助。

2个回答

3

您需要创建广播接收器。在清单文件中声明。

    <receiver android:name=".yourReceiver">
        <intent-filter android:priority="10">
            <action android:name="android.intent.action.NEW_OUTGOING_CALL"></action>
        </intent-filter>
    </receiver>

在代码中

    public class yourReceiverextends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            //startyour activity
        }
    }

不要忘记使用权限

android.permission.PROCESS_OUTGOING_CALLS

谢谢您的回复,但我无法执行此操作。所以您可以给我发送一个小样本。这对我来说将非常有帮助。 - Android Help
@Stine Pike,我需要同样的东西,但是在特定的号码拨号时,我想要打开我的应用程序。 - PankajAndroid
@Pankaj 使用BroadcastReceiver接收呼叫广播,在onReceive中启动您的启动器活动。 - stinepike
@AndroidHelp 你遇到了什么问题?如果你做得很好,上面的代码应该可以工作。 - stinepike

0

这段代码是正确的,但在AndroidManifest文件中:

<receiver android:name=".CallReceiver"> 
    <intent-filter android:priority="10">
        <action android:name="android.intent.action.NEW_OUTGOING_CALL"></action>
    </intent-filter>
</receiver>

然后在CallReceiver中继承BroadcastReceiver:

public class PhoneCallReceive extends BroadcastReceiver {

private static final String TAG = "VahidTAG";

@Override
public void onReceive(Context context, Intent intent) {
        Log.v(TAG, "in Calling");
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接