簡體   English   中英

將活動結果返回到另一個班級

[英]Return activity result to another class

所以我有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();
    }
}

這很簡單。 示例代碼可以如下運行

startActivityForResult(Intent intent, int requestCode); //Fill intent with your desired class.

在目標類(ScanActivity)中,不要忘記將結果放回去

setResult (int resultCode, Intent data) //in data bundle put all your required output

這樣,您可以提取具有預期結果代碼的匹配數據。

現在在呼叫者班

protected void onActivityResult (int requestCode, int resultCode, Intent data) {} //Your logic to manipulate data

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM