通过拨打号码启动应用程序然后断开呼叫:Android

时间:2013-08-27 10:18:08

标签: android

我正在尝试通过拨号来启动我的应用程序,并且我也成功地做了同样的事情。

我正在通过此代码执行此操作:

public class OutgoingCallBroadcastReceiver extends BroadcastReceiver 
{
    String diledNumber;

    @Override
    public void onReceive(Context context, Intent intent) 
    {
        diledNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);

        if(diledNumber.equals("1234"))
        {
            Intent appIntent = new Intent(context, MainActivity.class);
            appIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(appIntent);
        }
    }
}

问题: 我的问题是在启动应用程序后,调用屏幕进入后台,我的应用程序正在开始。但是我想断开那个电话(我拨打了1234来启动应用程序,在应用程序启动之后该调用应该断开连接)。非常感谢您的帮助。谢谢

1 个答案:

答案 0 :(得分:4)

在if块中使用setResultData(null)取消接收方的广播。

参考以下代码

if(diledNumber.equals("1234")) {
     Intent appIntent = new Intent(context, MainActivity.class);
     appIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
     context.startActivity(appIntent);
     // Cancel our call.
     setResultData(null);
}

详细了解Processing Ordered Broadcasts