How to change ble name dynamically and immediately?

I change name by app, after get new name from my app,save it to flash, then  I call gap_params_init, in this function, I reload the new name from flash and set it by sd_ble_gap_device_name_set, Even if I disable bluetooth on phone and enable again, use lightblue to scan, it show the old name, but if I connect the device, then disconnect the device, it shows new name on iphone using lightblue. Is it function normally?

Related