Class IntentIntegrator
- java.lang.Object
-
- com.google.zxing.integration.android.IntentIntegrator
-
public class IntentIntegrator extends Object
-
-
Field Summary
Fields Modifier and Type Field Description static Collection<String>ALL_CODE_TYPESstatic StringCODE_128static StringCODE_39static StringCODE_93static StringDATA_MATRIXstatic StringEAN_13static StringEAN_8static StringITFstatic Collection<String>ONE_D_CODE_TYPESstatic StringPDF_417static Collection<String>PRODUCT_CODE_TYPESstatic StringQR_CODEstatic intREQUEST_CODEstatic StringRSS_14static StringRSS_EXPANDEDstatic StringUPC_Astatic StringUPC_E
-
Constructor Summary
Constructors Constructor Description IntentIntegrator(Activity activity)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description IntentIntegratoraddExtra(String key, Object value)IntentcreateScanIntent()Create an scan intent with the specified options.static IntentIntegratorforFragment(Fragment fragment)static IntentIntegratorforSupportFragment(androidx.fragment.app.Fragment fragment)Class<?>getCaptureActivity()protected Class<?>getDefaultCaptureActivity()Map<String,?>getMoreExtras()voidinitiateScan()Initiates a scan for all known barcode types with the default camera.voidinitiateScan(Collection<String> desiredBarcodeFormats)Initiates a scan, only for a certain set of barcode types, given as strings corresponding to their names in ZXing'sBarcodeFormatclass like "UPC_A".static IntentResultparseActivityResult(int requestCode, int resultCode, Intent intent)Call this from yourActivity'sActivity.onActivityResult(int, int, Intent)method.static IntentResultparseActivityResult(int resultCode, Intent intent)Parse activity result, without checking the request code.IntentIntegratorsetBarcodeImageEnabled(boolean enabled)Set to true to enable saving the barcode image and sending its path in the result Intent.IntentIntegratorsetBeepEnabled(boolean enabled)Set to false to disable beep on scan.IntentIntegratorsetCameraId(int cameraId)Use the specified camera ID.IntentIntegratorsetCaptureActivity(Class<?> captureActivity)Set the Activity class to use.IntentIntegratorsetDesiredBarcodeFormats(String... desiredBarcodeFormats)Set the desired barcode formats to scan.IntentIntegratorsetDesiredBarcodeFormats(Collection<String> desiredBarcodeFormats)Set the desired barcode formats to scan.IntentIntegratorsetOrientationLocked(boolean locked)By default, the orientation is locked.IntentIntegratorsetPrompt(String prompt)Set a prompt to display on the capture screen, instead of using the default.IntentIntegratorsetRequestCode(int requestCode)Change the request code that is used for the Intent.IntentIntegratorsetTimeout(long timeout)Initiates a scan for all known barcode types with the default camera.IntentIntegratorsetTorchEnabled(boolean enabled)Set to true to enable initial torchprotected voidstartActivity(Intent intent)protected voidstartActivityForResult(Intent intent, int code)Start an activity.
-
-
-
Field Detail
-
REQUEST_CODE
public static final int REQUEST_CODE
- See Also:
- Constant Field Values
-
UPC_A
public static final String UPC_A
- See Also:
- Constant Field Values
-
UPC_E
public static final String UPC_E
- See Also:
- Constant Field Values
-
EAN_8
public static final String EAN_8
- See Also:
- Constant Field Values
-
EAN_13
public static final String EAN_13
- See Also:
- Constant Field Values
-
RSS_14
public static final String RSS_14
- See Also:
- Constant Field Values
-
CODE_39
public static final String CODE_39
- See Also:
- Constant Field Values
-
CODE_93
public static final String CODE_93
- See Also:
- Constant Field Values
-
CODE_128
public static final String CODE_128
- See Also:
- Constant Field Values
-
ITF
public static final String ITF
- See Also:
- Constant Field Values
-
RSS_EXPANDED
public static final String RSS_EXPANDED
- See Also:
- Constant Field Values
-
QR_CODE
public static final String QR_CODE
- See Also:
- Constant Field Values
-
DATA_MATRIX
public static final String DATA_MATRIX
- See Also:
- Constant Field Values
-
PDF_417
public static final String PDF_417
- See Also:
- Constant Field Values
-
PRODUCT_CODE_TYPES
public static final Collection<String> PRODUCT_CODE_TYPES
-
ONE_D_CODE_TYPES
public static final Collection<String> ONE_D_CODE_TYPES
-
ALL_CODE_TYPES
public static final Collection<String> ALL_CODE_TYPES
-
-
Constructor Detail
-
IntentIntegrator
public IntentIntegrator(Activity activity)
-
-
Method Detail
-
getDefaultCaptureActivity
protected Class<?> getDefaultCaptureActivity()
-
getCaptureActivity
public Class<?> getCaptureActivity()
-
setCaptureActivity
public IntentIntegrator setCaptureActivity(Class<?> captureActivity)
Set the Activity class to use. It can be any activity, but should handle the intent extras as used here.- Parameters:
captureActivity- the class
-
setRequestCode
public IntentIntegrator setRequestCode(int requestCode)
Change the request code that is used for the Intent. If it is changed, it is the caller's responsibility to check the request code from the result intent.- Parameters:
requestCode- the new request code- Returns:
- this
-
forSupportFragment
public static IntentIntegrator forSupportFragment(androidx.fragment.app.Fragment fragment)
- Parameters:
fragment-Fragmentinvoking the integration.startActivityForResult(Intent, int)will be called on theFragmentinstead of anActivity
-
forFragment
public static IntentIntegrator forFragment(Fragment fragment)
- Parameters:
fragment-Fragmentinvoking the integration.startActivityForResult(Intent, int)will be called on theFragmentinstead of anActivity
-
addExtra
public final IntentIntegrator addExtra(String key, Object value)
-
setPrompt
public final IntentIntegrator setPrompt(String prompt)
Set a prompt to display on the capture screen, instead of using the default.- Parameters:
prompt- the prompt to display
-
setOrientationLocked
public IntentIntegrator setOrientationLocked(boolean locked)
By default, the orientation is locked. Set to false to not lock.- Parameters:
locked- true to lock orientation
-
setCameraId
public IntentIntegrator setCameraId(int cameraId)
Use the specified camera ID.- Parameters:
cameraId- camera ID of the camera to use. A negative value means "no preference".- Returns:
- this
-
setTorchEnabled
public IntentIntegrator setTorchEnabled(boolean enabled)
Set to true to enable initial torch- Parameters:
enabled- true to enable initial torch- Returns:
- this
-
setBeepEnabled
public IntentIntegrator setBeepEnabled(boolean enabled)
Set to false to disable beep on scan.- Parameters:
enabled- false to disable beep- Returns:
- this
-
setBarcodeImageEnabled
public IntentIntegrator setBarcodeImageEnabled(boolean enabled)
Set to true to enable saving the barcode image and sending its path in the result Intent.- Parameters:
enabled- true to enable barcode image- Returns:
- this
-
setDesiredBarcodeFormats
public IntentIntegrator setDesiredBarcodeFormats(Collection<String> desiredBarcodeFormats)
Set the desired barcode formats to scan.- Parameters:
desiredBarcodeFormats- names ofBarcodeFormats to scan for- Returns:
- this
-
setDesiredBarcodeFormats
public IntentIntegrator setDesiredBarcodeFormats(String... desiredBarcodeFormats)
Set the desired barcode formats to scan.- Parameters:
desiredBarcodeFormats- names ofBarcodeFormats to scan for- Returns:
- this
-
initiateScan
public final void initiateScan()
Initiates a scan for all known barcode types with the default camera.
-
setTimeout
public IntentIntegrator setTimeout(long timeout)
Initiates a scan for all known barcode types with the default camera. And starts a timer to finish on timeout- Returns:
- Activity.RESULT_CANCELED and true on parameter TIMEOUT.
-
createScanIntent
public Intent createScanIntent()
Create an scan intent with the specified options.- Returns:
- the intent
-
initiateScan
public final void initiateScan(Collection<String> desiredBarcodeFormats)
Initiates a scan, only for a certain set of barcode types, given as strings corresponding to their names in ZXing'sBarcodeFormatclass like "UPC_A". You can supply constants likePRODUCT_CODE_TYPESfor example.- Parameters:
desiredBarcodeFormats- names ofBarcodeFormats to scan for
-
startActivityForResult
protected void startActivityForResult(Intent intent, int code)
Start an activity. This method is defined to allow different methods of activity starting for newer versions of Android and for compatibility library.- Parameters:
intent- Intent to start.code- Request code for the activity- See Also:
Activity.startActivityForResult(Intent, int),Fragment.startActivityForResult(Intent, int)
-
startActivity
protected void startActivity(Intent intent)
-
parseActivityResult
public static IntentResult parseActivityResult(int requestCode, int resultCode, Intent intent)
Call this from your
Activity'sActivity.onActivityResult(int, int, Intent)method.This checks that the requestCode is equal to the default REQUEST_CODE.
- Parameters:
requestCode- request code fromonActivityResult()resultCode- result code fromonActivityResult()intent-IntentfromonActivityResult()- Returns:
- null if the event handled here was not related to this class, or
else an
IntentResultcontaining the result of the scan. If the user cancelled scanning, the fields will be null.
-
parseActivityResult
public static IntentResult parseActivityResult(int resultCode, Intent intent)
Parse activity result, without checking the request code.- Parameters:
resultCode- result code fromonActivityResult()intent-IntentfromonActivityResult()- Returns:
- an
IntentResultcontaining the result of the scan. If the user cancelled scanning, the fields will be null.
-
-