如何在扫描二维码时打开活动?

发布于 01-14 15:41 字数 1703 浏览 3 评论 0原文

我正在使用 Android Studio 和 Java 开发 Android 应用程序。在此应用程序中,我使用 Scannercode 实现了二维码扫描仪。我有一个包含网址的二维码。当扫描此特定网址时,我希望我的应用程序自动打开另一个活动。有可能吗?我尝试了这段代码,但每当扫描二维码时,我的应用程序就会崩溃。

CameraFragment.java

public class CameraFragment extends Fragment {

 String contents;


 private CodeScanner mCodeScanner;

 @Nullable
 @Override
 public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
                          @Nullable Bundle savedInstanceState) {

     final Activity activity = getActivity();
     View root = inflater.inflate(R.layout.fragment_camera, container, false);
     CodeScannerView scannerView = root.findViewById(R.id.scanner_view);
     mCodeScanner = new CodeScanner(activity, scannerView);
     mCodeScanner.setDecodeCallback(new DecodeCallback() {
         @Override
         public void onDecoded(@NonNull final Result result) {
             activity.runOnUiThread(new Runnable() {
                 @Override
                 public void run() {

                     if(Patterns.WEB_URL.matcher(result.getText()).equals("https://youtu.be/M2c")) {
                         startActivity(new Intent(getContext(), MilleActivity.class));

                     }

                 }

             });
         }
     });
     scannerView.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View view) {
             mCodeScanner.startPreview();
         }
     });
     return root;
 }

 @Override
 public void onResume() {
     super.onResume();
     mCodeScanner.startPreview();
 }

 @Override
 public void onPause() {
     mCodeScanner.releaseResources();
     super.onPause();
 }
}

I'm developing an Android application using Android Studio and Java. In this app I implemented a Qr code scanner using Scannercode. I have a qr code containing a url. When this specific url is scanned, I would like my application to automatically open another activity. Is it something possible? I tried this code but my application is crashing whenever a qr code is scan.

CameraFragment.java

public class CameraFragment extends Fragment {

 String contents;


 private CodeScanner mCodeScanner;

 @Nullable
 @Override
 public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
                          @Nullable Bundle savedInstanceState) {

     final Activity activity = getActivity();
     View root = inflater.inflate(R.layout.fragment_camera, container, false);
     CodeScannerView scannerView = root.findViewById(R.id.scanner_view);
     mCodeScanner = new CodeScanner(activity, scannerView);
     mCodeScanner.setDecodeCallback(new DecodeCallback() {
         @Override
         public void onDecoded(@NonNull final Result result) {
             activity.runOnUiThread(new Runnable() {
                 @Override
                 public void run() {

                     if(Patterns.WEB_URL.matcher(result.getText()).equals("https://youtu.be/M2c")) {
                         startActivity(new Intent(getContext(), MilleActivity.class));

                     }

                 }

             });
         }
     });
     scannerView.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View view) {
             mCodeScanner.startPreview();
         }
     });
     return root;
 }

 @Override
 public void onResume() {
     super.onResume();
     mCodeScanner.startPreview();
 }

 @Override
 public void onPause() {
     mCodeScanner.releaseResources();
     super.onPause();
 }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文