| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package me.dm7.barcodescanner.zbar.sample;
- import android.os.Bundle;
- import android.os.Handler;
- import android.support.v4.app.Fragment;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.Toast;
- import me.dm7.barcodescanner.zbar.Result;
- import me.dm7.barcodescanner.zbar.ZBarScannerView;
- public class SimpleScannerFragment extends Fragment implements ZBarScannerView.ResultHandler {
- private ZBarScannerView mScannerView;
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- mScannerView = new ZBarScannerView(getActivity());
- return mScannerView;
- }
- @Override
- public void onResume() {
- super.onResume();
- mScannerView.setResultHandler(this);
- mScannerView.startCamera();
- }
- @Override
- public void handleResult(Result rawResult) {
- Toast.makeText(getActivity(), "Contents = " + rawResult.getContents() +
- ", Format = " + rawResult.getBarcodeFormat().getName(), Toast.LENGTH_SHORT).show();
- // Note:
- // * Wait 2 seconds to resume the preview.
- // * On older devices continuously stopping and resuming camera preview can result in freezing the app.
- // * I don't know why this is the case but I don't have the time to figure out.
- Handler handler = new Handler();
- handler.postDelayed(new Runnable() {
- @Override
- public void run() {
- mScannerView.resumeCameraPreview(SimpleScannerFragment.this);
- }
- }, 2000);
- }
- @Override
- public void onPause() {
- super.onPause();
- mScannerView.stopCamera();
- }
- }
|