我现在尝试了很多解决方案。但是,我无法让编译器在我的活动中批准setResult(int,intent)。我已经使用startActivityForResult启动了活动。
你能看到问题吗?
我的代码如下所示:
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会出现此错误:
答案 0 :(得分:10)
BroadcastReceiver
有setResult方法,它有三个参数,而不是两个,您可能希望使用类setResult
中的Activity
。参考它:
ActivityName.this.setResult(RESULT_OK, data);
如果在BroadcastReceiver
Activity
答案 1 :(得分:1)
RESULT_OK
是Activity类的常量。
在Activity类中,您可以直接访问,但在其他类中,您还需要编写类名(Activity)。
使用Activity.RESULT_OK
代替RESULT_OK
。