Chúng tôi đã sử dụng WifiManager API ẩn để bật chia sẻ kết nối Wifi và tạo điểm truy cập. Vấn đề bây giờ với API 26 trên Android là thẻ @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED)
đã được thêm vào setWifiApEnabled
chức năng và bây giờ gọi đó trả về false và nhật ký sau đây được in:Cách bật Hotspot Wi-Fi Android O theo lập trình
W/WifiManager: PACKAGE_NAME gọi cố gắng setWifiApEnabled kích hoạt = true
Đọc các tài liệu mới, nó nói rằng chức năng bị phản đối và sẽ được loại bỏ trong một bản phát hành sắp tới và thay vào đó sử dụng ConnectivityManager#startTethering
nếu người gọi có sự cho phép thích hợp nhưng phương pháp này có cùng một vấn đề không có quyền TETHER_PRIVILEGED. Một tùy chọn khác được trình bày trong tài liệu là sử dụng LocalOnlyHotspot
nhưng điều này không được sử dụng cho dự án vì điểm phát sóng được tạo không có kết nối Internet.
Tôi cũng đã thử nghiệm với startSoftAp
chức năng từ API ẩn nhưng không có kết quả thành công kể từ khi ngoại lệ sau đây được ném:
WifiService: Không sử dụng 10.164 cũng không quá trình hiện tại có android.permission.NETWORK_STACK
Có cách nào khác để kích hoạt điểm phát sóng Wifi trên các API mới hơn không? Tôi cũng đã tìm kiếm các lựa chọn thay thế cho Wifi tethering nhưng thay thế khả thi chỉ có vẻ là Bluetooth tethering với nhược điểm của chỉ nhận được tốc độ 3G. Wifi Aware và Wifi P2P cũng được xem xét nhưng những vấn đề này có kết nối Internet không được chia sẻ giữa các thiết bị.
Bất kỳ đề xuất nào về cách tiếp cận điều này?
[https://stackoverflow.com/questions/45984345/how-to-turn-on-off-wifi-hotspot-programatically-in-android-8-0-oreo](https://stackoverflow.com/question/45984345/how-to-turn-on-off-wifi-hotspot-programatically-in-android-8-0-oreo) – Mark
Bản sao có thể có của [Cách bật/tắt điểm phát sóng wifi có lập trình trong Android 8.0 (Oreo)] (https://stackoverflow.com/questions/45984345/how-to-turn-on-off-wifi-hotspot-programatically-in-android-8-0-oreo) – tripleee