Qr Code를 인식하는데, Shopsavvy에서 제공하는 라이브러리를 사용하고 있습니다.




지금은 Main.java에서 해당 Activity를 불러오고, 종료하여 다시 main.java로 돌아오면
 result = extras.getString("SCAN_RESULT") 로 결과값을 받고,
그 결과값 result를 다시 ScannerActivity에 result 값을 밀어주며,
또다시 ScannerActivity를 시작합니다. 시작된 ScannerActivity에서 값을 받아
자신의 layout에 있는 textview에 그 결과값을 띄워주는데요...
제가 원하는 것은 ScannerActivity내에서 나오는 결과값을 자기 자신이 받아
자기 자신의 layout의 textview에 띄워주는 것입니다.
결과적으로 Main.java는 필요없고,
시작하자마자 ScannerActivity를 시작하고, Activity에서 반환된
결과값을 자기 자신이 받는 구조로 구현하고싶습니다.
finish함수를 override하여 종료시키지 않을 수 는 있는데,
결정적으로 라이브러리이다보니, ScannerActivity 내부를 건들일 수 가 없는데..
혹시 방법 없을까요..?
// Main.java
@Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        Intent intent = new Intent(this, ScannerActivity.class);
        intent.putExtra(Intents.Preferences.ENABLE_BEEP, true);
        intent.putExtra(Intents.Preferences.ENABLE_VIBRATE, true);
        intent.putExtra("SCAN_RESULT", result);
        startActivityForResult(intent, SCANNER_REQUEST_CODE);    
    }
 
@Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) 
    {
            Bundle extras = data.getExtras();
            result = extras.getString("SCAN_RESULT");
            Log.d("myTag","Scan Result : "+result);
        
            Intent intent = new Intent(this, ScannerActivity.class);
            intent.putExtra(Intents.Preferences.ENABLE_BEEP, true);
            intent.putExtra(Intents.Preferences.ENABLE_VIBRATE, true);
            intent.putExtra("SCAN_RESULT", result);
            startActivityForResult(intent, SCANNER_REQUEST_CODE);

    }

// ScannerActivity.java
public class ScannerActivity extends CaptureActivity
{
    @Override
    public int get_R_id_preview_view() 
    {
        return R.id.preview_view;
    }

    @Override
    public int get_R_id_viewfinder_view() 
    {
        return R.id.viewfinder_view;
    }

    @Override
    public int get_R_layout_scanner() 
    {
        return R.layout.scanner;
    }

    @Override
    public int get_R_raw_beep() 
    {        
        return R.raw.beep;
    }
}