У меня есть класс для загрузки изображения на сервер, но я не могу выбрать изображение из gallery.It работает корректно на уровне API +17, но не работает на уровне API -17не onActivityResult называется под уровнем API 17
thoose мои коды
CustomJavascriptClass
public String uploadImage(){
Activity activity = (Activity)context;
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/*");
activity.startActivityForResult(photoPickerIntent, 100);
...
MainActivity
protected void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
if(requestCode == 100){
try{
Uri selectedImage = imageReturnedIntent.getData();
String[] filePathColumn = {MediaStore.Images.Media.DATA};
Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String filePath = cursor.getString(columnIndex);
cursor.close();
Log.i("File", filePath);
if (Build.VERSION.SDK_INT >= 17){
HappyJavaScriptInterface.attachment = new File(filePath);
HappyJavaScriptInterface.uploadProcess = 1;
}
else
{
HappyJavaScriptInterfaceUnder17.attachment = new File(filePath);
HappyJavaScriptInterfaceUnder17.uploadProcess = 1;
}
}
catch(Exception ex){
if (Build.VERSION.SDK_INT >= 17){
HappyJavaScriptInterface.uploadProcess = 1;
}
else
{
HappyJavaScriptInterfaceUnder17.uploadProcess = 1;
}
}
}
Он работает правильно на андроид 4.2.2 эмулятор, но не работает на 2.3.3
Благодарности
Проблема заключается в 'onActivityResult' не называется или что? – TheRedFox
yes onActivityResult не вызывается для уровня API -17 – KubixSoftware
Возможно ли, что у вас также есть два способа startActivityForResult()? – Opiatefuchs