启动另一个应用程序时未调用 onActivityResult

onActivityResult not being called when launching another app

我正在尝试通过 Intent 调用另一个应用程序,该应用程序被调用但没有调用 onActivityResult。有人可以帮我吗? 下面是我的代码:

public class EncryptCommandActivity extends Activity{

EncryptionFactory encryptionFactory = new EncryptionFactory();

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.encrpyt_command_activity);
    ActivityContexts.setEncryptCommandActivityContext(this);

    Intent intent = new Intent("asd.com.qweapi.MAIN_ACTIVITY");

    Bundle bundle = new Bundle();

    bundle.putInt("Function", 1006);
    bundle.putString("MSG", MQTTFactory.getById());
    intent.putExtras(bundle);

    startActivityForResult(intent, 0);

    finish();

}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent pData)
{
    super.onActivityResult(requestCode,resultCode,pData);
    Log.d("Encrypt","Inside");  //not called
    Toast.makeText(ActivityContexts.getMainActivityContext(),"encrypt", Toast.LENGTH_LONG).show(); //not called

}

}

将 finish() 从 onCreate 移动到 onActivityResult

您应该删除 onCreate() 中的 finish(),因为它将完成 activity 然后它不再存在,因为无法触发 onActivityResult()