我需要从主应用程序(A)中启动其他应用程序(B)。我需要A等到在B应用程序中输入一些信息,然后再将我发送回A。
我用startActivityForResult()和onActivityResult()做id。 但是调试显示,使用方法startActivityForResult()之后,方法onActivityResult()恰好被调用,结果Intent中为空。
A:
@Override
public void onClick(View v) {
Intent intent = getPackageManager().getLaunchIntentForPackage("com.example.enteraccountnumber");
startActivityForResult(intent, 1234);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (data != null) {
cardNumber = data.getStringExtra("cardNumber");
Button button = findViewById(R.id.button);
button.setText(cardNumber);
}
}
B:
@Override
public void onClick(View v) {
EditText editText = findViewById(R.id.enterCardNumber);
String cardNumber = editText.getText().toString();
Intent result = new Intent();
result.putExtra("cardNumber", cardNumber);
setResult(RESULT_OK, result);
finish();
}