Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ZXING-Android获取扫描内容_Android_Zxing - Fatal编程技术网

使用ZXING-Android获取扫描内容

使用ZXING-Android获取扫描内容,android,zxing,Android,Zxing,这是我的代码,我正在使用Zixing library扫描二维码,我可以扫描,但问题无法在我的活动类中获得我想要的值。扫描成功后,应打印Toast并完成扫描活动。请帮助我如何实现这一点 下面是我的清单文件: public class MainActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle sa

这是我的代码,我正在使用Zixing library扫描二维码,我可以扫描,但问题无法在我的活动类中获得我想要的值。扫描成功后,应打印Toast并完成扫描活动。请帮助我如何实现这一点

下面是我的清单文件:

public class MainActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        try {
            Button scanner = (Button) findViewById(R.id.scanner);
            scanner.setOnClickListener(new OnClickListener() {

                public void onClick(View v) {
                    Intent intent = new Intent(
                            "com.google.zxing.client.android.SCAN");
                    intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
                    startActivityForResult(intent, 0);
                }

            });

            Button scanner2 = (Button) findViewById(R.id.scanner2);
            scanner2.setOnClickListener(new OnClickListener() {

                public void onClick(View v) {
                    Intent intent = new Intent(
                            "com.google.zxing.client.android.SCAN");
                    intent.putExtra("SCAN_MODE", "PRODUCT_MODE");
                    startActivityForResult(intent, 0);
                }

            });

        } catch (ActivityNotFoundException anfe) {
            Log.e("onCreate", "Scanner Not Found", anfe);
        }

    }

    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(this, "Content:" + contents
                // + " Format:" + format, Toast.LENGTH_LONG);
                // toast.setGravity(Gravity.TOP, 25, 400);
                // toast.show();

                Toast.makeText(getApplicationContext(), contents, 100).show();
            } else if (resultCode == RESULT_CANCELED) {
                // Handle cancel
                Toast toast = Toast.makeText(this, "Scan was Cancelled!",
                        Toast.LENGTH_LONG);
                toast.setGravity(Gravity.TOP, 25, 400);
                toast.show();

            }
        }
    }

}


有一个CaptureActivity,我刚刚从Google Zxing Library找到了这个最重要的文件,请帮助。

关于
onActivityResult
你需要打电话

<activity
            android:name="com.example.zxing.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.google.zxing.client.android.CaptureActivity"
            android:configChanges="orientation|keyboardHidden"
            android:screenOrientation="landscape"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
            android:windowSoftInputMode="stateAlwaysHidden" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <intent-filter>
               <action android:name="com.google.zxing.client.android.SCAN" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
示例用法

IntentResult scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
更新 在扫描按钮上,单击执行以下操作

  @Override
  public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
    if (result != null) {
      String contents = result.getContents();
      if (contents != null) {
        Log.d(TAG, "Success");
        // result.toString() holds the result info
      } else {
        Log.d(TAG, "Failed");
      }
    }
  }
对于二维码扫描

Button scanner = (Button) findViewById(R.id.scanner);
scanner.setOnClickListener(new OnClickListener() {

   public void onClick(View v) {
      IntentIntegrator integrator = new IntentIntegrator(MainActivity.this);
      integrator.addExtra("SCAN_WIDTH", 800);
      integrator.addExtra("SCAN_HEIGHT", 200);
      integrator.addExtra("RESULT_DISPLAY_DURATION_MS", 3000L);
      integrator.addExtra("PROMPT_MESSAGE", "Custom prompt to scan a product");
      integrator.initiateScan(IntentIntegrator.PRODUCT_CODE_TYPES);

     }

});

有关更多信息,请遵循。您可以自定义一些功能

IntentIntegrator integrator = new IntentIntegrator(MainActivity.this);
integrator.initiateScan(IntentIntegrator.QR_CODE_TYPES);
然后调用函数而不是Toast

private void showMsg(String msg) {
    // TODO Auto-generated method stub
    final AlertDialog build = new AlertDialog.Builder(this).create();
    build.setTitle("Scanning Result");
    build.setMessage(msg);
    build.setCancelable(true);
    build.setButton(AlertDialog.BUTTON_POSITIVE, " OK ",
            new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // TODO Auto-generated method stub
                    build.dismiss();
                }
            });
    build.show();
}
让我们。
showMsg("Product get with " + res);