1.当耳机插入手机时,android手机会发送广播,我们可以写一个广播接受者来进行相关设置
<pre name="code" class="java"> public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
if(intent.hasExtra("state")){
if(intent.getIntExtra("state", 0)==0){
Toast.makeText(context, "耳机已拔出", Toast.LENGTH_LONG).show();
}
else if(intent.getIntExtra("state", 0)==1){
Toast.makeText(context, "耳机已插入", Toast.LENGTH_LONG).show();
}
}
}
2.屏幕亮暗的广播
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(Intent.ACTION_SCREEN_ON)) {
Log.i(TAG, "屏幕解锁广播...");
} else if (action.equals(Intent.ACTION_SCREEN_OFF)) {
Log.i(TAG, "屏幕加锁广播...");
}
}
3.手机解锁的广播,类如指纹解锁
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals("android.intent.action.USER_PRESENT")){
ToastUtil.showToast(context, "手机解锁的广播");
}
}
4.声音的音量变化的广播
//注册系统音量改变的广播接受者
context.registerReceiver(volumeReceiver, new IntentFilter("android.media.VOLUME_CHANGED_ACTION")) ;
public void onReceive(Context context, Intent intent) {
AudioManager audioManager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
if(intent.getAction().equals("android.media.VOLUME_CHANGED_ACTION")){
int currentVolumeC = audioManager.getStreamVolume(AudioManager.STREAM_VOICE_CALL) ;// 当前的听筒音量
int currentVolumeM = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC) ;// 当前的媒体音量
//做自己的处理
}
}
更多内容请参考:
http://blog.youkuaiyun.com/u013290075/article/details/51115648
http://blog.youkuaiyun.com/lizhenmingdirk/article/details/7469628