Я программирую в приложении для Android, и у меня есть программа со сканером qr. Когда сканер обнаруживает сканирование, что-то происходит. Моя проблема в том, что у меня более одного qr-кода, и мне нужно, чтобы программа распознала, какой qr-код сканируется.
В моем коде у меня есть строка «content», которую я установил равной «SCAN_RESULT», которая отличается от каждого кода qr.
Я вижу результат, печатая в logCat, и я также сделал textView таким же, как содержимое. В обоих случаях «SCAN_RESULT» - это «Scanextra1» для первого кода qr.
Затем я говорю: if (contents == "Scanextra1") {что-то должно произойти}. Хотя это не так.
Кто-нибудь может мне помочь?
Код, где у меня возникла проблема, выглядит следующим образом:
if (resultCode1 == RESULT_OK) {
contents = intent.getStringExtra("SCAN_RESULT");
String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
int QR = 0;
Log.v(contents, "QR value" + QR);
proeve.setText(contents);
//String contents2 = proeve.getText().toString();
if (contents == "Scanextra1"){...
Весь код действия выглядит следующим образом:
package your.choko.namespace;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import android.util.Log;
public class ScanExtra extends Activity {
String contents;
public static final String PREFS_NAME = "MyPrefsFile";
boolean extra1, extra2;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.scanextra);
SharedPreferences settings = getSharedPreferences("MyPrefsFile", 0);
extra1 = settings.getBoolean("fact1", false);
extra2 = settings.getBoolean("fact2", false);
Button scan = (Button) findViewById(R.id.buttonscanextra);
scan.setOnClickListener(new OnClickListener() {
static final int QR_ACTIVITY = 0;
public void onClick(View v) {
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
startActivityForResult(intent, QR_ACTIVITY);
}
});
}
/** Called when the activity is first created. */
@Override
public void onPause() {
super.onPause();
}
@Override
public void onStop() {
super.onStop();
}
public void onActivityResult(int requestCode, int resultCode1, Intent intent) {
TextView proeve = (TextView) findViewById(R.id.textView1);
if (requestCode == 0) {
if (resultCode1 == RESULT_OK) {
contents = intent.getStringExtra("SCAN_RESULT");
String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
int QR = 0;
Log.v(contents, "QR value" + QR);
proeve.setText(contents);
if (contents == "Scanextra1"){
//WHAT HAPPENS ON SCAN 1
SharedPreferences settings = getSharedPreferences("MyPrefsFile",0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("fact1", true);
editor.commit();
Toast toast = Toast.makeText(ScanExtra.this, contents, 9000);
toast.show();
startActivity(new Intent(ScanExtra.this, ScanExtraResultat.class));
}
}
}
}
}