在Android BroadcastReceiver中检查结果代码?

时间:2014-02-22 16:28:19

标签: java android android-intent broadcastreceiver

我想检查Android的resultCode的{​​{1}}方法中的RESULT_OK是否为BroadcastReceiver,就像我们在Activity的onReceive方法中所做的那样,但是我该怎么做才是我的问题。

接收者的代码是:

onActivityResult

3 个答案:

答案 0 :(得分:21)

要在BroadcastReceiver的onReceive(...)方法中检查 resultCode ,我们可以使用 BroadcastReceiver getResultCode()方法。

这将给我们当前 resultCode (可以是标准结果

  • RESULT_CANCELED
  • RESULT_OK

或从 RESULT_FIRST_USER 开始的任何自定义值。

对于上述问题,其实施方式如下:

new BroadcastReceiver() {

            @Override
            public void onReceive(Context context, Intent intent) {
                // TODO Auto-generated method stub
                //This is what I like to check.
                if(getResultCode() == Activity.RESULT_OK)
                {
                     //Your code here.
                }
            }
        };

答案 1 :(得分:4)

您可以使用以下代码

if (getResultCode() == Activity.RESULT_OK ) {
 ...
}

答案 2 :(得分:1)

默认情况下,您无法覆盖广播接收器中的onactivityResult方法,但您可以通过以下方式执行此操作:

  1. 覆盖任何激活子类中的onactivityResult方法
  2. 将结果存储到共享偏好
  3. 使用广播的接收方法访问该值 上下文
  4. 或初始化此类全局变量。 并与之比较。

    private int resultCancel = Activity.RESULT_CANCELED;
    private int resultOk = Activity.RESULT_OK;