Ответ 1
Код запроса помогает вам определить, из какого намерения вы вернулись. Например, представьте, что ваша активность A (основная активность) может вызвать действие B (запрос камеры), активность C (аудиозапись), активность D (выбрать контакт).
Всякий раз, когда последующие действия B, C или D заканчиваются и им необходимо передать данные обратно в A, теперь вам нужно идентифицировать в своем onActivityResult, из которого вы возвращаетесь, и соответственно поместите свою логику обработки.
public static final int CAMERA_REQUEST = 1;
public static final int CONTACT_VIEW = 2;
@Override
public void onCreate(Bundle savedState)
{
super.onCreate(savedState);
// For CameraRequest you would most likely do
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_REQUEST);
// For ContactReqeuest you would most likely do
Intent contactIntent = new Intent(ACTION_VIEW, Uri.parse("content://contacts/people/1"));
startActivityForResult(contactIntent, CONTACT_VIEW);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (resultCode == Activity.RESULT_CANCELED) {
// code to handle cancelled state
}
else if (requestCode == CAMERA_REQUEST) {
// code to handle data from CAMERA_REQUEST
}
else if (requestCode == CONTACT_VIEW) {
// code to handle data from CONTACT_VIEW
}
}
Надеюсь, это объяснит использование параметра.