Nếu người dùng nhấn phím tăng hoặc giảm âm lượng có thể phát hiện nó trong bộ thu phát sóng của tôi không? Tôi cần mã đầy đủ.Android BroadCastReceiver cho phím tăng hoặc giảm âm lượng
Đây là bộ lọc Ý định của tôi
IntentFilter filter = new IntentFilter();
filter.addAction("android.media.VOLUME_CHANGED_ACTION");
và onReceive
phương pháp của tôi là
public void onReceive(Context arg0, Intent intent) {
KeyEvent ke = (KeyEvent)intent.getExtras().get(Intent.EXTRA_KEY_EVENT);
if (ke .getKeyCode() == KeyEvent.KEYCODE_VOLUME_UP) {
System.out.println("I got volume up event");
}else if (ke .getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN) {
System.out.println("I got volume key down event");
}
}
Nó mang lại cho tôi một KeyEvent null ... bất kỳ ý tưởng?
cảm ơn câu trả lời của bạn nhưng nó mang lại cho tôi cùng một giá trị khối lượng = 1 khi điện thoại ở chế độ im lặng hoặc rung hoặc âm lượng chuông ở bước đầu tiên. Làm thế nào tôi có thể phát hiện điện thoại là im lặng hoặc rung hoặc không có giá trị đầu tiên? –
bạn có thể sử dụng AudioManager để phát hiện xem bạn đang ở chế độ rung, im lặng hoặc bình thường: http://stackoverflow.com/questions/2048427/how-can-i-detect-whether-the-android-phone-in-silent -mode-programatically – Theus
Khi thay đổi âm lượng ở mức tối đa tôi đã khởi động ứng dụng nhưng khi trình phát nhạc chạy trên thiết bị thì trong trường hợp đó tôi không muốn mở ứng dụng của mình ở đầu thay đổi âm lượng. –