【问题标题】:how to change system alarm setting text dynamic如何更改系统警报设置文本动态
【发布时间】:2012-09-04 01:57:02
【问题描述】:

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

但是我得到了一个输出但它没有更新任何人可以帮助我

这是我用于在锁定屏幕中显示文本的代码

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

【问题讨论】:

  • 谁能帮帮我,我被困在这两天了
  • 您能否向我们提供您运行原始问题代码的内容? (可能是意图处理程序?)
  • @tinsukE 当我调用此方法时,我从服务器收到了新警报
  • @tinsukE 当它被锁定时,我没有得到任何更新,但是当我解锁它并再次锁定它时,它已被更新。我想在锁定时在锁定屏幕上获取更新

标签: android text alarm lockscreen


【解决方案1】:

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

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

【讨论】:

  • 我如何在编写任何示例时使用它
【解决方案2】:

由于@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();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-26
    • 1970-01-01
    • 2017-05-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多