2015-01-29 4 views
1

내 클라이언트 용 Android 앱을 개발 중이며 QR 스캐너가 앱 내부에 빌드되도록 요청했습니다. 따라서 사용자가 Google Play에서 다른 앱을 다운로드하지 않아도되도록하고 싶습니다. 즉, 내 앱에서 QR 스캐너 인 다른 앱을 호출하고 싶지 않습니다. 내 앱 안에 QR 스캐너가 내장되어 있어야합니다.QR 스캐너를 Android 앱에 통합

나는 github 및 여기에서 stackoverflow에 ZXing에 대해 읽었습니다. 내가 이해하는 한 방법으로 QR 스캐너를 앱에 통합하는 것은 좋지 않습니다. Intent (또는 IntegratedIntent라고 불리는)를 통해 스캐너를 호출하는 것이 더 좋으며, 이전에 GoolePlay에서 다운로드해야하는 다른 스캐너 응용 프로그램 (?)을 호출 할 것이고 나는 그것을 원하지 않습니다.

또한 여러 블로그 (How to Create QR Codes with an Android Phone, ZXing QR Reader Direct Integration)에서 몇 가지 아이디어를 시도했지만 제대로 작동했습니다.

어떻게 든 이미 개발 된 QR 스캐너에 내장 할 수 있습니까?

+0

참조 [링크] (http://stackoverflow.com/questions/8340875/integrate-zxing-qr-code-scanner-without-installing- : 태그 내부 매니페스트 파일에이 코드를 넣어 neccessery입니다 바코드 스캐너), [link] (http://wahidgazzah.olympe.in/integrating-zxing-in-your-android-app-as-standalone-scanner/) 또는이 라이브러리 ([link] (https://github.com/zxing/zxing/)) –

+0

안녕하세요. 나는 이미 모든 게시물을 보았지만 여전히 문제가 있습니다. 예를 들어 Barcode Scanner 앱을 다운로드하여 설치해야합니다. 나는 그들을 더 조사해야한다고 생각한다. 어쨌든, 고마워. – Glimpse

답변

2

그럼 솔루션을 찾았습니다. 문제는이이었다 나는 어떤 이유로 IntentIntegrator를 사용했다 : 당신이 IntentIntegrator를 사용하는 경우

IntentIntegrator integrator = new IntentIntegrator(MainActivity.this); 
integrator.initiateScan(IntentIntegrator.QR_CODE_TYPES); 

이 IW 바코드 scenner 응용 프로그램이 장치에 설치 요청합니다, 당신은 당신의 프로젝트에 라이브러리로 CaptureActivity 프로젝트를 추가 한 경우에도 마찬가지입니다.

대신이 방법을 사용하고 gr8을 사용합니다.

Intent intent = new Intent("com.google.zxing.client.android.SCAN"); 
intent.putExtra("SCAN_MODE", "QR_CODE_MODE"); 
startActivityForResult(intent, 0); 

CaptureActivity 프로젝트에서 CaptureActivity가 시작되고 스캐너가 응용 프로그램 내부에 있습니다.

P.

<activity 
      android:name="com.google.zxing.client.android.CaptureActivity" 
      android:configChanges="orientation|keyboardHidden" 
      android:screenOrientation="landscape" 
      android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
      android:windowSoftInputMode="stateAlwaysHidden" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
      <intent-filter> 
       <action android:name="com.google.zxing.client.android.SCAN" /> 

       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </activity> 
+0

어떻게 안드로이드 프로젝트에 zxing을 가져 왔습니까? – prgmrDev