IEEE 802.11 networks have a great role to play in supporting and deploying of the Internet of Things (IoT). The realization of IoT depends on the ability of the network to handle a massive number of stations and transmissions, and to support Quality of Service (QoS). IEEE 802.11 networks enable the QoS by applying the Enhanced Distributed Channel Access (EDCA) with static parameters regardless of existing network capacity or which Access Category (AC) of QoS is already active. Our objective in this paper is to improve the efficiency of the uplink access in 802.11 networks; therefore we proposed an algorithm called QoS Categories Activeness-Aware Adaptive EDCA Algorithm (QCAAAE) which adapts Contention Window (CW) size, and Arbitration Inter-Frame Space Number (AIFSN) values depending on the number of associated Stations (STAs) and considering the presence of each AC. For different traffic scenarios, the simulation results confirm the outperformance of the proposed algorithm in terms of throughput (increased on average 23%) and retransmission attempts rate (decreased on average 47%) considering acceptable delay for sensitive delay services.