Итак, у меня есть RegisterActivity.java, где после регистрации пользователем нажмите в ScanActivity.java метод ScanActivity().Возврат результата к другому классу
В ScanActivity() он начнет операцию сканирования и вернет результат сканирования обратно в RegisterActivity.java.
Используя результат сканирования, проверка подлинности пользователя произойдет в RegisterActivity.java.
Как это сделать?
В RegisterActivity.java
// call ScanActivity
ScanActivity scanActivity = new ScanActivity();
// get scan result from ScanActivity
String scanResult = scanActivity.ScanActivity();
// compare with useridtxt
// if useridtxt same with scan result, start save into parse
if (useridtxt.equals(scanResult)) {
// some code here
} else if (!useridtxt.equals(scanResult)) {
// some code here
} else {
// some code here
}
В ScanActivity.java
public class ScanActivity extends Activity {
public static final int CODE39 = 39;
private static final int ZBAR_SCANNER_REQUEST = 0;
String ScanActivity() {
Intent intent = new Intent(this, ZBarScannerActivity.class);
intent.putExtra(ZBarConstants.SCAN_MODES, new int[]{Symbol.CODE39});
startActivityForResult(intent, ZBAR_SCANNER_REQUEST);
String scanResult = getIntent().getStringExtra(ZBarConstants.SCAN_RESULT);
return scanResult;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (resultCode == RESULT_OK)
{
// maybe save the scan result here, and pass it to String scanResult in RegisterActivity.java?
} else if(resultCode == RESULT_CANCELED) {
Toast.makeText(this, "Camera unavailable", Toast.LENGTH_SHORT).show();
}
}
ты поставил onActivityResult в неправильном классе или вы напечатали это неправильно? – therealprashant
** Не делайте этого ** 'ScanActivity scanActivity = new ScanActivity();'. Используйте жизненный цикл активности. Запустите их с помощью Intents и переопределите методы действий. [Возврат к предыдущему действию с разными данными] (http://stackoverflow.com/questions/18243515/android-going-back-to-previous-activity-with-different-intent-value/18243541#18243541) – codeMagic
@therealprashant I Угадайте, что это уже правильно, поскольку оно предназначено для ScanActivity()? – August