Take photo using default camera application

Take photo using default camera application, as result code return path to saved image.
//    PRIVILEGE needed to be set in tizen-manifest.xml:
//    http://tizen.org/privilege/appmanager.launch

#include <dlog.h> // for logging purposes
#include <app_controlr.h>


void
open_camera_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("Captured image path: %s", path[i]);
				free(path[i]);
			}
			free(path);
		}
	}
}

void
open_camera() {
	app_control_h app_control = NULL;
	app_control_create(&app_control);
	app_control_set_operation(app_control, APP_CONTROL_OPERATION_CREATE_CONTENT);
	app_control_set_mime(app_control, "image/jpeg");
	if(app_control_send_launch_request(app_control, open_camera_cb, NULL) == APP_CONTROL_ERROR_NONE)
	   LOGI("Camera launched!");

	app_control_destroy(app_control);
}

Responses

0 Replies