如何更改系统报警设置文本dynamic

嗨,我创build一个应用程序来显示来自服务的报警计数,我必须更新,当我的屏幕locking。

但我得到了一个出来,但它不是更新可以帮助我的任何人

这是我的输出

这是我用来在locking屏幕上显示文本的代码

String message ="New alarm :"+ alarmnew.size()+"\n old alarm :"+alarmold.size(); Settings.System.putString(this.getContentResolver(), Settings.System.NEXT_ALARM_FORMATTED, message); 

Solutions Collecting From Web of "如何更改系统报警设置文本dynamic"

首先你需要解锁屏幕然后更新显示并再次locking屏幕。 你可以通过使用window.addFlags(LayoutParams.FLAG_DISMISS_KEYGUARD)来locking或解锁屏幕 和DevicePolicyManager的lockNow()方法。

实际上,当屏幕locking时,您的应用程序会进入onPause(),但应用程序的服务会在后台运行时继续运行。因此,要解决您的问题,需要将应用程序唤醒几秒钟,然后更新屏幕,然后再次locking屏幕。

家伙,我终于find了这个概念的答案感谢@ dd619他的概念

我使用的概念是,首先我需要解锁屏幕,然后更新显示并再次locking屏幕。

这是我的这个应用程序的最终编码

 { Context context= getApplicationContext(); KeyguardManager _guard = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE); KeyguardLock _keyguardLock = _guard.newKeyguardLock("KeyguardLockWrapper"); //to disable _keyguardLock.disableKeyguard(); String message ="New alarm :"+ alarmnew.size()+"\n old alarm :"+alarmold.size(); Settings.System.putString(this.getContentResolver(), Settings.System.NEXT_ALARM_FORMATTED, message); //to enable _keyguardLock.reenableKeyguard(); }