Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. package com.lapakavi.qrstock;
  2.  
  3. import android.Manifest;
  4. import android.content.Intent;
  5. import android.content.pm.PackageManager;
  6. import android.support.annotation.NonNull;
  7. import android.support.v4.app.ActivityCompat;
  8. import android.support.v4.content.ContextCompat;
  9. import android.support.v7.app.AppCompatActivity;
  10. import android.os.Bundle;
  11. import android.util.Log;
  12. import android.widget.Toast;
  13.  
  14. import com.google.zxing.Result;
  15.  
  16. import java.util.ArrayList;
  17. import java.util.Arrays;
  18. import java.util.List;
  19.  
  20. import me.dm7.barcodescanner.zxing.ZXingScannerView;
  21.  
  22. public class Scanqr extends AppCompatActivity implements ZXingScannerView.ResultHandler {
  23.  
  24.     private ZXingScannerView mScannerView;
  25.     private final  static int REQUEST_CODE_ASK_PERMISSIONS = 1;
  26.     private static final String[] REQUIRED_SDK_PERMISSIONS = new String[] {
  27.             Manifest.permission.CAMERA};
  28.  
  29.     /**
  30.      * Untuk cek permision camera.
  31.      */
  32.     protected void checkPermissions() {
  33.         final List<String> missingPermissions = new ArrayList<String>();
  34.         // check all required dynamic permissions
  35.         for (final String permission : REQUIRED_SDK_PERMISSIONS) {
  36.             final int result = ContextCompat.checkSelfPermission(this, permission);
  37.             if (result != PackageManager.PERMISSION_GRANTED) {
  38.                 missingPermissions.add(permission);
  39.             }
  40.         }
  41.         if (!missingPermissions.isEmpty()) {
  42.             // request all missing permissions
  43.             final String[] permissions = missingPermissions
  44.                     .toArray(new String[missingPermissions.size()]);
  45.             ActivityCompat.requestPermissions(this, permissions, REQUEST_CODE_ASK_PERMISSIONS);
  46.         } else {
  47.             final int[] grantResults = new int[REQUIRED_SDK_PERMISSIONS.length];
  48.             Arrays.fill(grantResults, PackageManager.PERMISSION_GRANTED);
  49.             onRequestPermissionsResult(REQUEST_CODE_ASK_PERMISSIONS, REQUIRED_SDK_PERMISSIONS,
  50.                     grantResults);
  51.         }
  52.     }
  53.  
  54.     @Override
  55.     public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[],
  56.                                            @NonNull int[] grantResults) {
  57.         switch (requestCode) {
  58.             case REQUEST_CODE_ASK_PERMISSIONS:
  59.                 for (int index = permissions.length - 1; index >= 0; --index) {
  60.                     if (grantResults[index] != PackageManager.PERMISSION_GRANTED) {
  61.                         // exit the app if one permission is not granted
  62.                         Toast.makeText(this, "Required permission '" + permissions[index]
  63.                                 + "' not granted, exiting", Toast.LENGTH_LONG).show();
  64.                         finish();
  65.                         return;
  66.                     }
  67.                 }
  68.                 // all permissions were granted
  69.  
  70.                 break;
  71.         }
  72.     }
  73.  
  74.     @Override
  75.     protected void onCreate(Bundle savedInstanceState) {
  76.         super.onCreate(savedInstanceState);
  77.         checkPermissions();
  78.         setContentView(R.layout.activity_scanqr);
  79.         mScannerView = new ZXingScannerView(this);
  80.         setContentView(mScannerView);
  81.  
  82.     }
  83.     @Override
  84.     public void onResume() {
  85.         super.onResume();
  86.         mScannerView.setResultHandler(this);
  87.         mScannerView.startCamera();
  88.     }
  89.  
  90.     @Override
  91.     public void onPause() {
  92.         super.onPause();
  93.         mScannerView.stopCamera();
  94.     }
  95.  
  96.     //hasil print scan
  97.     @Override
  98.     public void handleResult(Result rawResult) {
  99.  
  100.         Log.v("TAG", rawResult.getText()); // Prints scan result
  101.  
  102.         Intent i = new Intent(Scanqr.this, MainActivity.class);
  103.         i.putExtra(MainActivity.WEBSITE_ADDRESS, "http://192.168.1.3/lapakavi/qr.php?kode="+rawResult.getText()); //url hasil
  104.         startActivity(i);
  105.         finish();
  106.  
  107.     }
  108.  
  109. }