我现在已经尝试了很多解决方案。但是,我无法让编译器在我的 Activity 中批准 setResult(int,intent)。我已经用 startActivityForResult 开始了 Activity 。

你能看出问题吗?

我的代码如下所示:

networkServiceMessageReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            //TODO: Implement the methods that should be executed on validation results

            PrinterData printerData = intent.getParcelableExtra(NetworkService.VALIDATE_PRINTER_RESULT);

            if(printerData != null)
            {
                Intent data = new Intent();
                data.putExtra(VALIDATE_PRINTER_RESULT, printerData);

                setResult(RESULT_OK, data);
                finish();

            }

            else
            {

            }
        }
    };

Android Studio 给出了这个错误:

最佳答案

BroadcastReceiver 有它的 setResult 方法,它接受三个参数,而不是两个,并且您可能想要使用 setResult 类中的 Activity 。引用它:

ActivityName.this.setResult(RESULT_OK, data);

如果 BroadcastReceiverActivity 中声明

关于android - setResult(int, intent) 在 Android 中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30595586/

10-09 04:41