8

我刚刚发现了这个应用程序:https ://market.android.com/details?id=de.j4velin.lockscreenCalendar

现在似乎可以在通常写警报的地方在锁屏内写一些文本。

我想在这个地方显示自定义文本,但完全不知道如何实现。

这家伙成功地在这个地方写了日历事件。

非常感谢任何可以帮助我的线索//片段。

在此处输入图像描述

4

6 回答 6

9

这是非常容易实现的,而且文档记录非常糟糕。您只需在系统设置中设置报警字符串,如下:

    String message = "This is a test";
    Settings.System.putString(context.getContentResolver(),
            Settings.System.NEXT_ALARM_FORMATTED, message);
于 2011-09-27T14:23:03.737 回答
1

这不是您要求的确切内容,但可以在此处找到自定义锁屏的代码。它可能会对您有所帮助。

http://code.google.com/p/contactowner/

于 2011-09-27T13:37:31.247 回答
1

我从来没有在公共 android API 中遇到过任何合法的方式来影响锁定屏幕。如果根本不玩那个应用程序,我不确定,但我猜他创建的活动允许他显示他想要的任何文本。然后使用接收器监听 SCREEN_OFF 或 SCREEN_ON 事件并在那时开始他的“锁定”活动。

值得注意的是:如果您选择执行这样的操作来实现您所追求的效果,它的行为将不会与锁定屏幕完全相同。差异可能相当轻微,最终可能对您的目的没问题,但请注意它们就在那里。另外假设你走这条路,如果用户有一个“模式”锁,它就不起作用,因为 KeyguardManager 无法以编程方式禁用该屏幕

于 2011-09-27T13:46:26.287 回答
1

你还需要添加

  <uses-permission android:name="android.permission.WRITE_SETTINGS"/>

在 androidmanifest.xml 中

于 2013-08-28T11:10:45.703 回答
0

只有当没有其他人使用相同的答案来显示他们的信息时,投票的答案才会起作用。如果为 SCREEN_ON/OFF 意图操作注册了两个接收器,则将显示最新接收器的消息。

于 2013-08-29T07:19:15.447 回答
0

使用 marc1s 的解决方案有 2 个问题,1. 它看起来不太好,您无法更改其外观和填充,例如文本字体或颜色等 2. 任何其他应用程序都可以替换它

因此,如果您使用服务中的窗口管理器显示视图会更好。因此,您可以显示您想要显示的任何视图。

例如,我的服务的 onStartCommand 下面的代码

WindowManager mWindowManager = (WindowManager) getSystemService(WINDOW_SERVICE);

View mView = mInflater.inflate(R.layout.score, null);

    WindowManager.LayoutParams mLayoutParams = new WindowManager.LayoutParams(
            ViewGroup.LayoutParams.WRAP_CONTENT,
            ViewGroup.LayoutParams.WRAP_CONTENT, 0, 0,
            WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
            WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
                    | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
                    | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
            /* | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON */,
            PixelFormat.RGBA_8888);

mWindowManager.addView(mView, mLayoutParams);
于 2014-05-21T10:32:00.240 回答