当前位置: 代码迷 >> java >> 带有嵌入式扫描器的 OnActivityResult
  详细解决方案

带有嵌入式扫描器的 OnActivityResult

热度:42   发布时间:2023-07-31 11:15:56.0

我有一个带有嵌入式条形码扫描仪的 Android 设备。

在设备上按下“扫描”按钮时,它会扫描条形码,并且只有当光标位于 EditText 上时,数据才会显示在 EditText 中。 即选择了 EditText。

我希望在没有选择 EditText 的情况下获得扫描结果。

我已经用 onActivityResult 试过了

@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); }

但我没有得到任何结果。 我能做什么 ?

我不想按按钮来激活扫描仪。

使用,您可以将扫描仪作为意图启动并解析结果。

import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;


public void onActivityResult(int requestCode, int resultCode, Intent intent){

    IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
    Context context = getApplicationContext();
    if (scanResult != null){
        String scanContent = scanResult.getContents();
        Toast toast = Toast.makeText(context, scanContent, 5000);
        toast.show();
    }
    else {
        Toast toast = Toast.makeText(context, "Error", 5000);
        toast.show();
    }
};

此意图通过方法之一启动,例如onCreate()覆盖。

IntentIntegrator scanIntegrator = new IntentIntegrator(this);
scanIntegrator.initiateScan();