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);
}

Responses

0 Replies