Design Introduction “Air” Styles Mobile Design Principles Styles UX Overview Design Patterns UI Components for Tizen App Design 2.3 TV Design Principles Styles UX Overview Patterns UI Components Wearable Development Tizen Studio Overview Download Tizen Studio Deprecation Notice Tizen Extensions for Visual Studio Family IoT extension SDK Docs Blog Blog Announcing the Tizen Studio 3.7 Release Announcing the Tizen Studio 3.1 Release Community Forums General Support Tizen .NET Web Application Development Native Application Development SDK & IDE Design Introduction “Air” Styles Mobile Design Principles Styles UX Overview Design Patterns UI Components for Tizen App Design 2.3 TV Design Principles Styles UX Overview Patterns UI Components Wearable Development Tizen Studio Overview Download Tizen Studio Deprecation Notice Tizen Extensions for Visual Studio Family IoT extension SDK Docs Blog Blog Announcing the Tizen Studio 3.7 Release Announcing the Tizen Studio 3.1 Release Community Forums General Support Tizen .NET Web Application Development Native Application Development SDK & IDE
Bluetooth using spp : solved
I’m trying to transfer Files such as Music, Document using Bluetooth SPP.
File Sending goes well, but there’s some error in File Reception.
here’s my example code.
this code is based on tutorial.
void bt_opp_server_transfer_progress_cb_for_opp(const char *file, long long size, int percent, void *user_data) { dlog_print(DLOG_INFO, LOG_TAG, "file: %s", file); dlog_print(DLOG_INFO, LOG_TAG, "size: %ld", size); dlog_print(DLOG_INFO, LOG_TAG, "percent: %d", percent); } void bt_opp_server_transfer_finished_cb_for_opp(int result, const char *file, long long size, void *user_data) { dlog_print(DLOG_INFO, LOG_TAG, "result: %d", result); dlog_print(DLOG_INFO, LOG_TAG, "file: %s", file); dlog_print(DLOG_INFO, LOG_TAG, "size: %ld", size); } void connection_requested_cb_for_opp_server(const char *remote_address, void *user_data) { dlog_print(DLOG_INFO, LOG_TAG, "remote_address: %s", remote_address); } // File receive function static void RECV_DATA( ){ bt_error_e ret; ret= bt_initialize(); if(ret!= BT_ERROR_NONE){ dlog_print(DLOG_ERROR, LOG_TAG, "[bt_initialize] Failed."); errorTest(ret); } char caller_id_path[1024] = {'\0', }; char* resource_path=NULL; resource_path = app_get_data_path(); snprintf(caller_id_path, sizeof(caller_id_path)-1, "%s", resource_path); free(resource_path); ret = bt_opp_server_initialize_by_connection_request (caller_id_path, connection_requested_cb_for_opp_server, NULL); if (ret != BT_ERROR_NONE) { dlog_print(DLOG_ERROR, LOG_TAG, "[bt_opp_server_initialize_by_connection_request] Failed."); errorTest(ret); } int transferID; ret = bt_opp_server_accept(bt_opp_server_transfer_progress_cb_for_opp, bt_opp_server_transfer_finished_cb_for_opp, NULL, NULL, &transferID); if (ret != BT_ERROR_NONE) { dlog_print(DLOG_ERROR, LOG_TAG, "[bt_opp_server_accept] Failed."); errorTest(ret); } bt_opp_server_deinitialize(); bt_deinitialize(); }in bt_opp_server_accept , it returns BT_ERROR_OPERATION_FAILED
I want to know why bt_opp_server_accept fails, and why I can’t receive File from another Bluetooth Device.
Thank you in advance.
==============================================================================================================
I solved my problem.
void bt_opp_server_transfer_progress_cb_for_opp(const char *file, long long size, int percent, void *user_data) { dlog_print(DLOG_INFO, "DIT", "file: %s", file); dlog_print(DLOG_INFO, "DIT", "size: %ld", size); dlog_print(DLOG_INFO, "DIT", "percent: %d", percent); } void bt_opp_server_transfer_finished_cb_for_opp(int result, const char *file, long long size, void *user_data) { dlog_print(DLOG_INFO, "DIT", "result: %d", result); dlog_print(DLOG_INFO, "DIT", "file: %s", file); dlog_print(DLOG_INFO, "DIT", "size: %ld", size); } void connection_requested_cb_for_opp_server(const char *remote_address, void *user_data) { bt_error_e ret; dlog_print(DLOG_INFO, "DIT", "remote_address: %s", remote_address); ret = bt_opp_server_accept(bt_opp_server_transfer_progress_cb_for_opp, bt_opp_server_transfer_finished_cb_for_opp, NULL, NULL, NULL); if (ret != BT_ERROR_NONE) { dlog_print(DLOG_ERROR, "DIT", "[bt_opp_server_accept] Failed."); errorTest(ret); } } // file receiving function int BTRecv() { bt_error_e ret; ret= bt_initialize(); if(ret!= BT_ERROR_NONE){ dlog_print(DLOG_ERROR, "DIT", "[bt_initialize] Failed."); errorTest(ret); return -1; } ret = bt_opp_server_initialize_by_connection_request (DOWNLOADSFOLDERPATH, connection_requested_cb_for_opp_server, NULL); if (ret != BT_ERROR_NONE) { dlog_print(DLOG_ERROR, "DIT", "[bt_opp_server_initialize_by_connection_request] Failed."); errorTest(ret); return -1; } return 0; }Tutorial was Hard to UnderStand…..
bt_opp_server_accept must be called when connection_requested_cb_for_opp_server is called,
so I put bt_opserver_accept in body of connection_requested_cb_for_opp_server, and it works well 😉
BY
16 Apr 2025
Tizen Studio
BY
04 Nov 2024
Tizen Studio
BY
02 Apr 2024
Tizen Studio