PendingIntents are designed that they can be launched from other applications, i.e. it isn't clear who should receive the result. That's why startActivityForResult() is meaningless for PendingIntent. My suggestion is to send a broadcast message when you finish the previously launched activity
@Override
public void onFinish() {
super.onFinish();
Intent intent = new Intent(YOUR_CUSTOM_ACTION);
// Put data to intent
sendBroadcast(intent);
}
And receive the result in other activity using BroadcastReceiver:
public class ActivityResultReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
// Retrieve data from intent
}
}