In meiner Android-App habe ich 'Bildauswahl' Modul, um Bild aus der Galerie oder Kamera aufgenommen Bild und 'App' Modul zu verarbeiten und zu zeigen. für unterschiedlichen Anforderungscode tat iAnfrage und Ergebniscode für verschiedene Module
public static final int REQUEST_CODE_PHOTO = 2000;
public static final int REQUEST_CODE_CAMERA = 2006;
am Anforderungscode und Ergebniscode perfekt in Image Modul Aktivität
Start-Aktivität Ergebnis für beide Option
//to choose gallery image
Intent intent = new Intent(getApplicationContext(), ImageSelectActivity.class);
intent.putExtra(Constants.INTENT_EXTRA_ALBUM, albums.get(position).name);
startActivityForResult(intent, Constants.REQUEST_CODE_PHOTO);
// to capture camera image
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, Constants.REQUEST_CODE_CAMERA);
onActivity Ergebnis zu erzielen:
if(requestCode == Constants.REQUEST_CODE_PHOTO && resultCode == RESULT_OK && data != null) {
setResult(RESULT_OK, data);
finish();
Toast.makeText(AlbumSelectActivity.this,"Calling ALbum IF",Toast.LENGTH_SHORT).show();
}else if(requestCode == Constants.REQUEST_CODE_CAMERA && resultCode == RESULT_OK && data != null){
setResult(RESULT_OK, data);
finish();
Toast.makeText(AlbumSelectActivity.this,"Calling ALbum ELSE IF",Toast.LENGTH_SHORT).show();
}
Bis das funktioniert gut. In meinem App-Modul wird immer der gleiche Anfragecode angezeigt. immer 2000, was ein Fotoanforderungscode ist.
App Modul MainActivity onActivityResult:
if (resultCode == RESULT_OK) {
if (requestCode == Constants.REQUEST_CODE_PHOTO && data != null) {
// always getting 'REQUEST_CODE_PHOTO' so this block is working
} else if (requestCode == Constants.REQUEST_CODE_CAMERA && data != null) {
// this block never called even when 'REQUEST_CODE_CAMERA' passed
}
}
können Sie nicht setzen Sie Co wie sonst wird es funktionieren? Ansonsten bekomme ich immer den gleichen Anfragecode, das ist das Problem –