콜백을 이용하면 어떨까요?
public class ScanActivity extends AppCompatActivity implements ScanResultReceiver {
@Override
public void onScanResultReceived(Context context, Intent intent) {
}
public static class ScanResultReceiver extends BroadcastReceiver {
interface Listener {
void onScanResultReceived(Context context, Intent intent);
}
private final Listener listener;
public ScanResultReceiver(Listener listener) {
this.listener = listener;
}
@Override
public void onReceive(Context context, Intent intent) {
listener.onScanResultReceived(contet, intent);
}
}
}
자식액티비티
@Override
public void onCreate(Bundle savedInstanceState) {
@Override
public void onScanResultReceived(Context context, Intent intent) {
}
}
더 나은 방법은 static inner class 로 된 부분을 별도의 클래스로 분리해서 사용하는 겁니다. 물론 해당 클래스와의 커뮤니케이션은 callback을 사용해서 처리하면 됩니다.