android - 扫描二维码时将按钮设为不可点击

标签 android qr-code background-service

我正在开发一款带有二维码扫描仪的应用。

我有三个 Activity ; “Skatte”,它有一个按钮,指向另一个名为“Skat1”的 Activity 。 “Skat1”包含一个 QR 扫描仪。当您扫描并获得肯定结果时,它会继续进行名为“Skat1Resultat”的第三项 Activity 。

我的问题是,当你扫描二维码时,我需要完全关闭“Skat1” Activity (或者至少让它无法进入),这意味着我还需要在“Skatte”上制作按钮这是指“Skat1”不可点击。

我已经阅读了后台服务、线程和 Intent ,但我仍然不知道如何去做。我找到了一个代码,可以在您扫描时更改第三个 Activity 的文本,但我需要使用按钮或可点击的文本来完成。

这是二维码被扫描后从“Skat1”移动到“Skat1Resultat”的代码。

public void onActivityResult(int requestCode, int resultCode, Intent intent) {
 if (requestCode == 0) {
 if (resultCode == RESULT_OK) {
 String contents = intent.getStringExtra("SCAN_RESULT");
 String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
 // Handle successful scan

  Toast toast = Toast.makeText(Skat1.this, contents, 9000);
  toast.show(); 
  startActivity(new Intent(Skat1.this, Skat1Resultat.class));
  finish();
  } 


} else if (resultCode == RESULT_CANCELED) {

 }

我虽然完成了();可以完成工作并关闭 Activity (我也尝试过使用 onDestroy),但是当您单击“Skatte”上的按钮时仍然可以进入 Activity 。

最佳答案

您可以使用值为 false 的静态 bool 标志。 当你得到“resultCode == RESULT_OK”时将其设置为 true

如果标志为 false 则按钮是可点击的 如果标志为真,则按钮不可点击。

if(flag)
{
button.setClickable(false);
}
else
{
button.setClickable(true);
}

关于android - 扫描二维码时将按钮设为不可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8878288/

相关文章:

python - 如何在大图中定位二维码以提高解码性能?

java - Android 使用 ZXing 生成二维码

c# - 我如何在 .net core 3.0 中执行一次 worker 服务?

c# - 对 .Net core 3.1 后台服务进行单元测试时,无法解析 IConfiguration

android - 使用ContentValues插入SQLite DB失败

android - 为什么我的五彩纸屑来自 Android 屏幕的一角

android - 具有固定第一行作为标题的 RecyclerView

dart - Flutter : Custom UI for Scan QR Reader. 请让我知道任何插件,以便我可以在扫描屏幕底部制作菜单

android - 如果没有主应用程序,后台服务能否存在?

android - 如何在按下时更改 Material float 操作按钮的颜色?