QR扫描仪android,在文本框中显示扫描值

时间:2014-04-23 12:44:53

标签: java android qr-code

我正在开发一个涉及QR扫描的应用程序。我可以通过使用从我的应用程序A启动的Zxing库来使扫描仪应用程序正常工作。  我需要将扫描产品的信息存储在文本框或编辑框中,然后将其用于其他目的。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Intent intent = new Intent(MainActivity.this,  
            CaptureActivity.class);  
    // Intent intent = new  
    // Intent("com.google.zxing.client.android.SCAN");  
    intent.putExtra("SCAN_MODE", "QR_CODE_MODE");  
    startActivityForResult(intent, 0);  
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

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

        Toast.makeText(MainActivity.this,"Scan Result:" + capturedQrValue, Toast.LENGTH_SHORT).show();  
        finish();     
         Intent it=new Intent(MainActivity.this,ThirdActivity.class);
         it.putExtra("Code", capturedQrValue);
         startActivity(it);

请帮助我。

2 个答案:

答案 0 :(得分:0)

然后全局初始化String capturedQrValue。无论如何,你获得了onActivityResult方法的价值。 你写了一个像这样的方法

  public static String getResponce(){
   return capturedQrValue;
  }

从您要显示它的其他活动中调用此方法。 希望这有助于你

答案 1 :(得分:0)

如果您想在扫描后直接打开其他活动,可以使用此解决方案:

在您当前的活动中,创建一个新的意图:

Intent i = new Intent(getApplicationContext(), NewActivity.class);
i.putExtra("new_variable_name","value");
startActivity(i);

然后在新的Activity中,检索这些值:

Bundle extras = getIntent().getExtras();
if (extras != null) {
    String value = extras.getString("new_variable_name");
    TextField text;//get your textfield by ID or create it in the activity
    text.setText(value);
}

使用此技术将变量从一个Activity传递到另一个Activity。 在这里找到:https://stackoverflow.com/a/7325248/1515052

如果您想稍后打开其他活动,您可能希望将该值存储在共享首选项文件中。

http://developer.android.com/guide/topics/data/data-storage.html#pref