Multiple file selection
Enable multiple selection of all files. Return paths to selected files.
// PRIVILEGE needed to be set in tizen-manifest.xml:
// http://tizen.org/privilege/appmanager.launch
#include <dlog.h> // for logging purposes
#include <mime_type.h>
#include <app_manager.h>
void
select_files_reply_cb(app_control_h request, app_control_h reply, app_control_result_e result, void *user_data) {
char** path;
int length;
int ret;
if(result == APP_CONTROL_RESULT_SUCCEEDED) {
ret = app_control_get_extra_data_array(reply, APP_CONTROL_DATA_SELECTED, &path, &length);
if(ret == APP_CONTROL_ERROR_NONE) {
int i;
for(i=0; i<length;i++) {
LOGI("Selected file path: %s", path[i]);
free(path[i]);
}
free(path);
}
}
}
void
select_files() {
app_control_h app_control = NULL;
app_control_create(&app_control);
app_control_set_operation(app_control, APP_CONTROL_OPERATION_PICK);
app_control_set_mime(app_control, "*/*");
app_control_add_extra_data(app_control, APP_CONTROL_DATA_SELECTION_MODE, "multiple");
if(app_control_send_launch_request(app_control, select_files_reply_cb, NULL) == APP_CONTROL_ERROR_NONE)
LOGI("File manager launched!");
app_control_destroy(app_control);
}