Tôi đã root Galaxy S 2 (I9100) và đang tự hỏi liệu tôi có thể khởi động lại Bluetooth trên điện thoại của mình thông qua ứng dụng khách trên thiết bị đầu cuối trên điện thoại của mình không.
Tôi đã root Galaxy S 2 (I9100) và đang tự hỏi liệu tôi có thể khởi động lại Bluetooth trên điện thoại của mình thông qua ứng dụng khách trên thiết bị đầu cuối trên điện thoại của mình không.
Câu trả lời:
Lệnh đầu cuối sau sẽ bật Bluetooth thông qua trình bao adb hoặc ứng dụng Trình mô phỏng đầu cuối:
su
am start -a android.bluetooth.adapter.action.REQUEST_ENABLE
Trên hầu hết các phiên bản Android, lệnh này sẽ hiển thị cửa sổ bật lên cho người dùng yêu cầu xác nhận yêu cầu kích hoạt BT. Tôi tin rằng điều này đã được thực hiện cho mục đích bảo mật bất cứ khi nào một ứng dụng không phải là hệ thống đang bật BT.
Tôi không tìm thấy cách nào để vô hiệu hóa BT thông qua lệnh shell.
Với WiFi, điều đó dễ dàng hơn rất nhiều và không nhắc nhở người dùng cho phép:
su
svc wifi enable
sẽ bật nó lên, và
su
svc wifi disable
sẽ tắt nó đi
trong android.bluetooth.IBluetoothManager, có một số tham số
TRANSACTION_registerAd CHƯƠNG = (android.os.IBinder.FIRST_CALL_TRANSACTION + 0); TRANSACTION_unregisterAd CHƯƠNG = (android.os.IBinder.FIRST_CALL_TRANSACTION + 1); TRANSACTION_registerStateChangeCallback = (android.os.IBinder.FIRST_CALL_TRANSACTION + 2); TRANSACTION_unregisterStateChangeCallback = (android.os.IBinder.FIRST_CALL_TRANSACTION + 3); TRANSACTION_isEnables = (android.os.IBinder.FIRST_CALL_TRANSACTION + 4); TRANSACTION_enable = (android.os.IBinder.FIRST_CALL_TRANSACTION + 5); TRANSACTION_enableNoAutoConnect = (android.os.IBinder.FIRST_CALL_TRANSACTION + 6); TRANSACTION_disable = (android.os.IBinder.FIRST_CALL_TRANSACTION + 7);
TRANSACTION_getAddress = (android.os.IBinder.FIRST_CALL_TRANSACTION + 8); TRANSACTION_getName = (android.os.IBinder.FIRST_CALL_TRANSACTION + 9);
android.os.IBinder.FIRST_CALL_TRANSACTION = 1
Vì vậy, với thiết bị đã root, nếu bạn muốn tắt bluetooth ở chế độ siêu người dùng adb shell (su)
service call bluetooth_manager 8
nếu bạn muốn bật lại bluetooth
service call bluetooth_manager 6
Service bluetooth_manager does not exist
trên Android 4.1.2
Bật bluetooth:
service call bluetooth 3
Vô hiệu hóa bluetooth:
service call bluetooth 4
su
- vì vậy về mặt kỹ thuật không có gì sai AFAIK.
service call bluetooth 5
hoạt động trong Android 4.2.1 của tôi để tắt bluetooth.
Giải pháp của tôi hoạt động.
am start -a android.bluetooth.adapter.action.REQUEST_ENABLE
sleep 1
input tap 872 1072
Lưu ý rằng khi thực hiện lệnh đầu tiên, nó sẽ nhảy ra một cửa sổ yêu cầu bạn chọn ALLOW.
Vì vậy, bạn cần lệnh nhấp tự động.
Bạn có thể nhận vị trí X, Y bằng cách bật tùy chọn Nhà phát triển-> Vị trí con trỏ, sau đó chạm vào nút ALLOW.