У меня возникли некоторые проблемы с использованием намерений для передачи данных между моими действиями, в частности, их проблема возникает, когда я передаю данные в предыдущее действие, когда текущее действие приостановлено.
С первого занятия я начинаю так:
//Create the activity we want to run and place it in an Intent
Intent i = new Intent(activity, JVoiceActivity.class);
//Create a bundle for passing some data.
Bundle b = new Bundle();
//Pass that this is a recording.
b.putBoolean("Record", true);
i.putExtras(b);
//Start it.
activity.startActivityForResult(i, 0);
Причина, по которой я использую активность вместо startActivityForResult, заключается в том, что это еще один класс, в котором я передаю действие, чтобы сохранить мой проект Object Orientated.
Затем на новом занятии я закрываю его так:
public void onPause()
{
Bundle bundle = new Bundle();
bundle.putString("Path", mPath);
Intent i = new Intent();
i.putExtras(bundle);
setResult(RESULT_OK, i);
super.onPause();
}
Наконец, в первом занятии у меня есть функция:
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if(data!= null)
{
Эта функция вызывается, но данные Intent всегда нулевые. Я предполагаю, что это так, как я закрываю второе действие, поскольку у меня это работало раньше, когда я тестировал его, в то время, когда я вызывал Finish () сразу после моего второго действия после установки mPath для целей тестирования.
Любая помощь очень ценится.