android– 获取ContentObserver中已更改的内容

android– 获取ContentObserver中已更改的内容,第1张

概述我想知道音量是否已经改变.阅读其他帖子我发现这段代码可以注册一个ContentObserver,并在发生变化时获取一个事件.我的问题是我不知道如何知道改变了什么.我的意思是,我得到一个OnReceive(),但是如何获得额外的信息(例如,按下了什么音量键).我也收到很多不需要的事件,例如,单击“

我想知道音量是否已经改变.阅读其他帖子我发现这段代码可以注册一个ContentObserver,并在发生变化时获取一个事件.
我的问题是我不知道如何知道改变了什么.我的意思是,我得到一个OnReceive(),但是如何获得额外的信息(例如,按下了什么音量键).

我也收到很多不需要的事件,例如,单击“菜单”按钮也会触发此事件,但尚未发生任何变化(尚未).

这是我的代码.

谢谢

public class clsSettingsContentObserver extends ContentObserver{   public Context Contexto=null; //This is for displaying Toasts   public clsSettingsContentObserver(Handler handler)   {  super(handler);   }    @OverrIDe public boolean deliverSelfNotifications()   {      return super.deliverSelfNotifications();    }   @OverrIDe public voID onChange(boolean selfChange)   {  super.onChange(selfChange);      //How do I get more info here?????      ShowToast("Settings change detected");       }   private voID ShowToast(String strMensaje)   {  Toast toast1 = Toast.makeText(Contexto, strMensaje, Toast.LENGTH_SHORT);      toast1.show();      };}

这就是我注册它的方式:

clsSettingsContentObserver oSettingsContentObserver = new clsSettingsContentObserver( new Handler() );oSettingsContentObserver.Contexto = this; //This is for displaying ToastsgetApplicationContext().getContentResolver().registerContentObserver(            androID.provIDer.Settings.System.CONTENT_URI,            true,             oSettingsContentObserver);

解决方法:

使用注册内容观察者

getApplicationContext().getContentResolver().registerContentObserver(        androID.provIDer.Settings.System.CONTENT_URI,        false,         oSettingsContentObserver);

这将阻止来自数据库后代的不需要的通知.有关详细信息,请参见public final void registerContentObserver (Uri uri, boolean notifyForDescendents, ContentObserver observer)

总结

以上是内存溢出为你收集整理的android – 获取ContentObserver中已更改的内容全部内容,希望文章能够帮你解决android – 获取ContentObserver中已更改的内容所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1117003.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存