1

我试图通过拨打一个号码来启动我的应用程序,我也成功地做到了。

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

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 启动应用程序,应用程序启动后该呼叫应该断开)。您的帮助将不胜感激。谢谢

4

1 回答 1

4

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

参考下面的代码

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);
}

阅读有关处理有序广播的更多信息

于 2013-08-27T10:24:19.373 回答