我现在已经尝试了很多解决方案。但是,我无法让编译器在我的 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);
如果
BroadcastReceiver
在 Activity
中声明关于android - setResult(int, intent) 在 Android 中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30595586/