Static Public Member Functions | |
static AlertDialog | initiateScan (Activity activity) |
static AlertDialog | initiateScan (Activity activity, int stringTitle, int stringMessage, int stringButtonYes, int stringButtonNo) |
static AlertDialog | initiateScan (Activity activity, CharSequence stringTitle, CharSequence stringMessage, CharSequence stringButtonYes, CharSequence stringButtonNo) |
static AlertDialog | initiateScan (Activity activity, CharSequence stringTitle, CharSequence stringMessage, CharSequence stringButtonYes, CharSequence stringButtonNo, CharSequence stringDesiredBarcodeFormats) |
static IntentResult | parseActivityResult (int requestCode, int resultCode, Intent intent) |
static void | shareText (Activity activity, CharSequence text) |
static void | shareText (Activity activity, CharSequence text, int stringTitle, int stringMessage, int stringButtonYes, int stringButtonNo) |
static void | shareText (Activity activity, CharSequence text, CharSequence stringTitle, CharSequence stringMessage, CharSequence stringButtonYes, CharSequence stringButtonNo) |
Static Public Attributes | |
static final String | ALL_CODE_TYPES = null |
static final String | DEFAULT_MESSAGE = "This application requires Barcode Scanner. Would you like to install it?" |
static final String | DEFAULT_NO = "No" |
static final String | DEFAULT_TITLE = "Install Barcode Scanner?" |
static final String | DEFAULT_YES = "Yes" |
static final String | ONE_D_CODE_TYPES = ",CODE_39,CODE_93,CODE_128" |
static final String | PRODUCT_CODE_TYPES = "UPC_A,UPC_E,EAN_8,EAN_13" |
static final String | QR_CODE_TYPES = "QR_CODE" |
static final int | REQUEST_CODE = 0x0ba7c0de |
Private Member Functions | |
IntentIntegrator () | |
Static Private Member Functions | |
static AlertDialog | showDownloadDialog (final Activity activity, CharSequence stringTitle, CharSequence stringMessage, CharSequence stringButtonYes, CharSequence stringButtonNo) |
Static Private Attributes | |
static final String | PACKAGE = "com.google.zxing.client.android" |
A utility class which helps ease integration with Barcode Scanner via Intents. This is a simple way to invoke barcode scanning and receive the result, without any need to integrate, modify, or learn the project's source code.
Integration is essentially as easy as calling initiateScan(Activity) and waiting for the result in your app.
It does require that the Barcode Scanner application is installed. The initiateScan(Activity) method will prompt the user to download the application, if needed.
There are a few steps to using this integration. First, your Activity must implement the method Activity#onActivityResult(int, int, Intent) and include a line of code like this:
public void onActivityResult(int requestCode, int resultCode, Intent intent) { IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent); if (scanResult != null) { // handle scan result } // else continue with any other code you need in the method ... }
This is where you will handle a scan result. Second, just call this in response to a user action somewhere to begin the scan process:
IntentIntegrator.initiateScan(yourActivity);
You can use initiateScan(Activity, CharSequence, CharSequence, CharSequence, CharSequence) or initiateScan(Activity, int, int, int, int) to customize the download prompt with different text labels.
Note that initiateScan(Activity) returns an AlertDialog which is non-null if the user was prompted to download the application. This lets the calling app potentially manage the dialog. In particular, ideally, the app dismisses the dialog if it's still active in its Activity#onPause() method.
To share text, encoded as a QR Code on-screen, similarly, see shareText(Activity, CharSequence).
Some code, particularly download integration, was contributed from the Anobiit application.
Definition at line 78 of file IntentIntegrator.java.
com.google.zxing.IntentIntegrator.IntentIntegrator | ( | ) | [inline, private] |
Definition at line 91 of file IntentIntegrator.java.
static AlertDialog com.google.zxing.IntentIntegrator.initiateScan | ( | Activity | activity | ) | [inline, static] |
See initiateScan(Activity, CharSequence, CharSequence, CharSequence, CharSequence) -- same, but uses default English labels.
Definition at line 97 of file IntentIntegrator.java.
static AlertDialog com.google.zxing.IntentIntegrator.initiateScan | ( | Activity | activity, |
int | stringTitle, | ||
int | stringMessage, | ||
int | stringButtonYes, | ||
int | stringButtonNo | ||
) | [inline, static] |
See initiateScan(Activity, CharSequence, CharSequence, CharSequence, CharSequence) -- same, but takes string IDs which refer to the Activity's resource bundle entries.
Definition at line 105 of file IntentIntegrator.java.
static AlertDialog com.google.zxing.IntentIntegrator.initiateScan | ( | Activity | activity, |
CharSequence | stringTitle, | ||
CharSequence | stringMessage, | ||
CharSequence | stringButtonYes, | ||
CharSequence | stringButtonNo | ||
) | [inline, static] |
See initiateScan(Activity, CharSequence, CharSequence, CharSequence, CharSequence, CharSequence) -- same, but scans for all supported barcode types.
stringTitle | title of dialog prompting user to download Barcode Scanner |
stringMessage | text of dialog prompting user to download Barcode Scanner |
stringButtonYes | text of button user clicks when agreeing to download Barcode Scanner (e.g. "Yes") |
stringButtonNo | text of button user clicks when declining to download Barcode Scanner (e.g. "No") |
Definition at line 128 of file IntentIntegrator.java.
static AlertDialog com.google.zxing.IntentIntegrator.initiateScan | ( | Activity | activity, |
CharSequence | stringTitle, | ||
CharSequence | stringMessage, | ||
CharSequence | stringButtonYes, | ||
CharSequence | stringButtonNo, | ||
CharSequence | stringDesiredBarcodeFormats | ||
) | [inline, static] |
Invokes scanning.
stringTitle | title of dialog prompting user to download Barcode Scanner |
stringMessage | text of dialog prompting user to download Barcode Scanner |
stringButtonYes | text of button user clicks when agreeing to download Barcode Scanner (e.g. "Yes") |
stringButtonNo | text of button user clicks when declining to download Barcode Scanner (e.g. "No") |
stringDesiredBarcodeFormats | a comma separated list of codes you would like to scan for. |
InterruptedException | if timeout expires before a scan completes |
Definition at line 155 of file IntentIntegrator.java.
static IntentResult com.google.zxing.IntentIntegrator.parseActivityResult | ( | int | requestCode, |
int | resultCode, | ||
Intent | intent | ||
) | [inline, static] |
Call this from your Activity's Activity#onActivityResult(int, int, Intent) method.
Definition at line 206 of file IntentIntegrator.java.
static void com.google.zxing.IntentIntegrator.shareText | ( | Activity | activity, |
CharSequence | text | ||
) | [inline, static] |
See shareText(Activity, CharSequence, CharSequence, CharSequence, CharSequence, CharSequence) -- same, but uses default English labels.
Definition at line 222 of file IntentIntegrator.java.
static void com.google.zxing.IntentIntegrator.shareText | ( | Activity | activity, |
CharSequence | text, | ||
int | stringTitle, | ||
int | stringMessage, | ||
int | stringButtonYes, | ||
int | stringButtonNo | ||
) | [inline, static] |
See shareText(Activity, CharSequence, CharSequence, CharSequence, CharSequence, CharSequence) -- same, but takes string IDs which refer to the Activity's resource bundle entries.
Definition at line 229 of file IntentIntegrator.java.
static void com.google.zxing.IntentIntegrator.shareText | ( | Activity | activity, |
CharSequence | text, | ||
CharSequence | stringTitle, | ||
CharSequence | stringMessage, | ||
CharSequence | stringButtonYes, | ||
CharSequence | stringButtonNo | ||
) | [inline, static] |
Shares the given text by encoding it as a barcode, such that another user can scan the text off the screen of the device.
text | the text string to encode as a barcode |
stringTitle | title of dialog prompting user to download Barcode Scanner |
stringMessage | text of dialog prompting user to download Barcode Scanner |
stringButtonYes | text of button user clicks when agreeing to download Barcode Scanner (e.g. "Yes") |
stringButtonNo | text of button user clicks when declining to download Barcode Scanner (e.g. "No") |
Definition at line 254 of file IntentIntegrator.java.
static AlertDialog com.google.zxing.IntentIntegrator.showDownloadDialog | ( | final Activity | activity, |
CharSequence | stringTitle, | ||
CharSequence | stringMessage, | ||
CharSequence | stringButtonYes, | ||
CharSequence | stringButtonNo | ||
) | [inline, static, private] |
Definition at line 176 of file IntentIntegrator.java.
final String com.google.zxing.IntentIntegrator.ALL_CODE_TYPES = null [static] |
Definition at line 90 of file IntentIntegrator.java.
final String com.google.zxing.IntentIntegrator.DEFAULT_MESSAGE = "This application requires Barcode Scanner. Would you like to install it?" [static] |
Definition at line 81 of file IntentIntegrator.java.
final String com.google.zxing.IntentIntegrator.DEFAULT_NO = "No" [static] |
Definition at line 84 of file IntentIntegrator.java.
final String com.google.zxing.IntentIntegrator.DEFAULT_TITLE = "Install Barcode Scanner?" [static] |
Definition at line 80 of file IntentIntegrator.java.
final String com.google.zxing.IntentIntegrator.DEFAULT_YES = "Yes" [static] |
Definition at line 83 of file IntentIntegrator.java.
final String com.google.zxing.IntentIntegrator.ONE_D_CODE_TYPES = ",CODE_39,CODE_93,CODE_128" [static] |
Definition at line 88 of file IntentIntegrator.java.
final String com.google.zxing.IntentIntegrator.PACKAGE = "com.google.zxing.client.android" [static, private] |
Definition at line 85 of file IntentIntegrator.java.
final String com.google.zxing.IntentIntegrator.PRODUCT_CODE_TYPES = "UPC_A,UPC_E,EAN_8,EAN_13" [static] |
Definition at line 87 of file IntentIntegrator.java.
final String com.google.zxing.IntentIntegrator.QR_CODE_TYPES = "QR_CODE" [static] |
Definition at line 89 of file IntentIntegrator.java.
final int com.google.zxing.IntentIntegrator.REQUEST_CODE = 0x0ba7c0de [static] |
Definition at line 79 of file IntentIntegrator.java.