按键-android 后台如何检测音量键消息?

问题描述

android 后台如何检测音量键消息?

我们有个APK需求,需要在后台检测音量键消息,检测到音量键(Down 或UP)之后,启动APK设定的服务。请教大神有什么思路没? 现在按键消息只能在当前有焦点的View类获取。

解决方案

public boolean onKeyUp(int keyCode, KeyEvent event) {
switch(keyCode){
case KeyEvent.KEYCODE_VOLUME_DOWN://音量下键
break;
case KeyEvent.KEYCODE_VOLUME_UP://音量上键
break;
return true;
}
}

解决方案二:

没做过,一个思路可以试试看:
注册一个BroadcastReceiver,接收系统的按键广播,然后判断按键进行处理。

时间: 2024-09-04 14:34:00

按键-android 后台如何检测音量键消息?的相关文章

android怎样屏蔽系统音量键?

问题描述 android怎样屏蔽系统音量键? android怎样屏蔽系统音量键?需要修改framwork哪些东西? 解决方案 framework你打算刷了吗,也许你能屏蔽手机侧面的音量键,但是手机"系统-设置-音量"这块你怎么弄呢,难不成你也要把这些界面ui从framewok里干掉吗,那就不是手机了. 解决方案二: @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEv

android 音量键 后台-Android如何获取音量键的触发事件?

问题描述 Android如何获取音量键的触发事件? Android如何获取音量键的触发事件,如何获取全局的音量键触发事件(锁屏状态下也可以),求大神帮忙...

ui-菜鸟问题:android 里面关于音量键重写的问题

问题描述 菜鸟问题:android 里面关于音量键重写的问题 我有很多acitivity .. 如果不想每个都重写public boolean onKeyDown(int keyCode, KeyEvent event) 这个方法,该怎么写. 这个方法里面有用自己的UI 音量控制 解决方案 对于普通的应用,监听按键都需要在当前正在显示的Activity/Fragment/View内实现.如果你只要在Activiry里面监听按键,可以先写一个BaseActivity,在这里面实现onKeyDown

Android 自定义SeekBar动态改变硬件音量大小实现和音量键的同步(推荐)

1,上图: 2,代码: MainActivity.Java package com.hero.zhaoq.seekbarchangeddemo; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.database.ContentObse

android-Android物理音量键问题

问题描述 Android物理音量键问题 各位好,有个问题想请教下,感谢你们百忙之中抽点时间给我指点指点.非常感谢.现在问题是我们的物理按键音量加和减,如果音乐在后台播放,调节的不是music的声音,而是来电的铃声的声音,但是在播放音乐的界面调节的就是music声音,查了源码,发现按下音量键的时候调用了AudioManager里面的handleKeyDown(KeyEvent event, int stream).如果是音乐在前台播放,stream的值为3,如果后台是一个很大的负数AudioMan

Android的framework层音量控制原理分析--hot(key)处理

Android.media.AudioManager中包含了对android.media.AudioService的跨进程AIDL调用封装.正常处理过程:1.调整音量是通过AudioManager间接调用AudioService.adjustStreamVolume方法来完成逻辑处理;2.AudioService调用VolumePanel画出音量调整界面,并发送音量变动广播消息,3.StatusBarPolicy,接收广播消息判断是否在状态栏显示静音或振动图标. 问题点:1.AudioManag

Android后台保活实践总结:即时通讯应用无法根治的“顽疾”

前言 Android进程和Service的保活,是困扰Android开发人员的一大顽疾.因涉及到省电和内存管理策略,各厂商基于自家的理解,在自已ROOM发布于都对标准Android发行版作为或多或少的改动,使得应用层程序在处理进程和Service保活问题上变的异常复杂,且很难兼容,因为说不定哪款手机或者哪个版本的省电策略发生改变,那么随之而来的就是进程和Service保活的差异. 在应用场景上,由于即时通讯应用(包括IM聊天应用.消息推送服务等)为了保证消息的全时.实时送达能力,必须要实现进程或

Android 后台调度任务与省电详解_Android

I. Handler: 在进程存活的期间有效使用, Google官方推荐使用. 简单易用. 稳定高效. II. AlarmManager: 利用系统层级的闹钟服务(持有Wake lock). 如果需要精确的定时任务,这个是最佳选择. 1. 功能 在大概的时间间隔 运行/重复执行 指定任务. 指定精确的时间间隔执行任务. 2. 特征 注册以后,无论是自己的应用进程是否存在/组件是否存在,都会正常执行. 所有注册的闹钟服务都会在系统重启后复位,因此如果需要保证任务,就需要注册RECEIVE_BOOT

Android 后台调度任务与省电详解

I. Handler: 在进程存活的期间有效使用, Google官方推荐使用. 简单易用. 稳定高效. II. AlarmManager: 利用系统层级的闹钟服务(持有Wake lock). 如果需要精确的定时任务,这个是最佳选择. 1. 功能 在大概的时间间隔 运行/重复执行 指定任务. 指定精确的时间间隔执行任务. 2. 特征 注册以后,无论是自己的应用进程是否存在/组件是否存在,都会正常执行. 所有注册的闹钟服务都会在系统重启后复位,因此如果需要保证任务,就需要注册RECEIVE_BOOT