import android.accounts.AccountManager;
import android.accounts.AuthenticatorException;
import android.accounts.OperationCanceledException;
+import android.annotation.SuppressLint;
+import android.annotation.TargetApi;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.res.Resources.NotFoundException;
import android.database.Cursor;
import android.net.Uri;
+import android.os.Build;
import android.os.Bundle;
import android.os.IBinder;
import android.preference.PreferenceManager;
/**
* Called, when the user selected something for uploading
+ *
*/
+ @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == ACTION_SELECT_CONTENT_FROM_APPS && (resultCode == RESULT_OK || resultCode == UploadFilesActivity.RESULT_OK_AND_MOVE)) {
- requestSimpleUpload(data, resultCode);
-
+ //getClipData is only supported on api level 16+
+ if (data.getData() == null && Build.VERSION.SDK_INT >= 16){
+ for( int i = 0; i < data.getClipData().getItemCount(); i++){
+ Intent intent = new Intent();
+ intent.setData(data.getClipData().getItemAt(i).getUri());
+ requestSimpleUpload(intent, resultCode);
+ }
+ }else {
+ requestSimpleUpload(data, resultCode);
+ }
} else if (requestCode == ACTION_SELECT_MULTIPLE_FILES && (resultCode == RESULT_OK || resultCode == UploadFilesActivity.RESULT_OK_AND_MOVE)) {
requestMultipleUpload(data, resultCode);
} else if (item == 1) {
Intent action = new Intent(Intent.ACTION_GET_CONTENT);
action = action.setType("*/*").addCategory(Intent.CATEGORY_OPENABLE);
+ //Intent.EXTRA_ALLOW_MULTIPLE is only supported on api level 18+
+ if(Build.VERSION.SDK_INT >= 18) {
+ action.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
+ }
startActivityForResult(Intent.createChooser(action, getString(R.string.upload_chooser_title)),
ACTION_SELECT_CONTENT_FROM_APPS);
}