android - Toast 未在 HTC Sense 3.0 锁定屏幕上显示

标签 android sense

我创建了一个程序,每次接到来电时都会显示 toast 辞。它在我试过的所有手机上都运行良好 - 来电屏幕上显示 toast 。

昨天我将我的 HTC Desire S 更新为 Sense 3.0 (Android 2.3.5),显然它有一个新的锁屏可以显示来电。打开锁定屏幕会将我带到“原始”来电屏幕并接听电话。在接听电话之前,我还可以在原始通话屏幕上看到我的 toast 一秒钟。

我显示的 toast 使用自定义布局,它是从服务中显示的。该服务在传入调用时接收来自广播接收器的 Intent 。

我使用以下代码来展示我的 toast :

LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.popup_toast,  null);

toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.TOP | Gravity.FILL_HORIZONTAL, 0, 0);
toast.setDuration(Toast.LENGTH_SHORT);
toast.setView(layout);
toast.show();

有什么方法可以设置让 toast 显示在新的 Sense 3.0 锁屏上吗?

最佳答案

我觉得问题有点广泛。在我的例子中,HTC sense 3.0 锁屏不允许显示 Activity 对话框(与 Toast 消息相同)。当屏幕解锁时,对话框(从后台服务触发的 Activity )显示得很好。在 HTC Sense 屏幕锁定上显示消息的唯一方法是使用通知 - 许多人会同意这是一种推荐的方法(比如不要用弹出窗口打扰用户)。缺点是通知性质 - 它会在一两秒后消失。因此,对于“来电显示”类的应用程序,如果用户想知道谁在打电话,应该迅速从口袋里掏出 HTC,但这肯定不合适。

也许 OpenSense SDK 包含 API 可以在屏幕锁定时显示消息更长时间。在我的第一眼中,我只发现了“sense styled”标签...

有人建议“以编程方式”解锁手机,然后显示 Toast 或 Dialog。这不是一个“快乐”的解决方案 - 甚至不确定是否可行。

我知道我的帖子不是一个完整的答案,但我希望它能提供更多有关在 HTC sense 3.0 锁屏上显示消息的问题的详细信息。

关于android - Toast 未在 HTC Sense 3.0 锁定屏幕上显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8324295/

相关文章:

elasticsearch - 在Elasticsearch查询中转义特殊字符

android - 加载时自动调用号码

Android 模拟器显示汉字

java - 如何修复我的循环,以便在真实设备上正确地将数据从应用程序发送到 api?

elasticsearch - 在运行对Elasticsearch有意义的查询时是否可以返回特定字段

elasticsearch - 在 sense 上使用扫描和滚动进行 elasticSearch

android - Listview OnItemClickListener 在 MainActivity 上工作但不在类似的 TaskActivity 上工作

android - 使用 getSherlockActivity() 或 getActivity() 或其他?

elasticsearch - Elasticsearch 嵌套对象映射和查询查询

windows - Elasticsearch - 在 Windows 中使用 Sense Web 插件批量插入