如何在扫描二维码时打开活动?
我正在使用 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 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论