Android 如何动态更改系统报警设置文本

Android 如何动态更改系统报警设置文本,android,text,alarm,lockscreen,Android,Text,Alarm,Lockscreen,嗨,我正在创建一个应用程序来显示来自服务的警报计数,当我的屏幕被锁定时,我必须更新它 但是我被淘汰了,但是没有人能帮我吗 这是我用来在锁屏中显示文本的代码 String message ="New alarm :"+ alarmnew.size()+"\n old alarm :"+alarmold.size(); Settings.System.putString(this.getContentResolver(), Settings.System.NEXT_ALARM

嗨,我正在创建一个应用程序来显示来自服务的警报计数,当我的屏幕被锁定时,我必须更新它

但是我被淘汰了,但是没有人能帮我吗

这是我用来在锁屏中显示文本的代码

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

首先,您需要解锁屏幕,然后更新显示,然后再次锁定屏幕。您可以使用,window.addFlags(LayoutParams.FLAG\u disclose\u KEYGUARD)锁定或解锁屏幕;和DevicePolicyManager lockNow()方法


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

伙计们,多亏了@dd619他的概念,我终于找到了这个问题的答案

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

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

{
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();
}

有人能帮我吗?我被困在这两天了。你能为我们提供你运行原始问题代码的内容吗?(可能是意图处理程序?@tinsukE我从服务器收到新警报,当他们都发出一个新警报时,我称之为此method@tinsukE当它被锁定时,我不会得到任何更新,但当我解锁它并再次锁定时,它已经被更新。我想在锁屏被锁定时获得锁屏的更新我如何在编码任何示例时使用它