为了账号安全,请及时绑定邮箱和手机立即绑定

是否有针对音量变化的广播动作?

是否有针对音量变化的广播动作?

慕妹3242003 2019-08-31 11:00:39
我正在编写一个小部件,只要用户更改振铃器音量或振动设置,就需要更新。捕获android.media.VIBRATE_SETTING_CHANGED对于振动设置工作得很好,但我没有找到任何方式在铃声音量变化时得到通知,虽然我可以尝试捕捉当用户按下音量增大/音量减小物理键时,还有很多其他选项在不使用这些键的情况下更改音量。你知道是否有任何广播行动为此定义或以任何方式创建一个或没有它解决问题?
查看完整描述

3 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

没有广播操作,但我确实发现您可以连接内容观察者以在设置更改时获得通知,流量是其中一些设置。注册android.provider.Settings.System.CONTENT_URI以获得所有设置更改的通知:


mSettingsContentObserver = new SettingsContentObserver( new Handler() ); 

this.getApplicationContext().getContentResolver().registerContentObserver( 

    android.provider.Settings.System.CONTENT_URI, true, 

    mSettingsContentObserver );

内容观察者可能看起来像这样:


public class SettingsContentObserver extends ContentObserver {


   public SettingsContentObserver(Handler handler) {

      super(handler);

   } 


   @Override

   public boolean deliverSelfNotifications() {

      return super.deliverSelfNotifications(); 

   }


   @Override

   public void onChange(boolean selfChange) {

      super.onChange(selfChange);

      Log.v(LOG_TAG, "Settings change detected");

      updateStuff();

   }

}

并确保在某个时候取消注册内容观察者。


查看完整回答
反对 回复 2019-08-31
  • 3 回答
  • 0 关注
  • 713 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信