onActivityResult not called

android, android-intent, java

Solution

Of course you won't get the result, you're calling startActivity() instead of startActivityForResult().

Problem

There are many question here from people having the exact same problem as I, and I've looked though a million, tried different things for 2-3 hours now, and I still can't get it working. Child Activity: ``` Intent resultIntent = new Intent(myColorPicker.this, WidgetConfig.class); resultIntent.putExtra("key", appwidget_notecolor); setResult(RESULT_OK, resultIntent); finish(); ``` Parent Activity: ``` @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); // Toast does not show Toast.makeText(getApplicationContext(), "onActivityResult fired", Toast.LENGTH_SHORT).show(); if (resultCode == RESULT_OK ) { // Toast does not show Toast.makeText(getApplicationContext(), "Result Recieved", Toast.LENGTH_SHORT).show(); } } ``` I launch child activity from parent activity like this: ``` Intent myColorPickerIntent = new Intent(WidgetConfig.this, myColorPicker.class); myColorPickerIntent.putExtra("appwidget_notecolor", appwidget_notecolor); WidgetConfig.this.startActivity(myColorPickerIntent); ```

Original source

Related problems