我已经创建了一个锁屏窗口小部件,可以在对其执行点击时启动自定义活动。该活动显示一些预定义的用户选择的联系人姓名。当用户点击其中一个姓名时,我想显示联系人的信息。来自锁屏活动的ContactDetail活动
由于我必须当我点击联系人显示名称联系人ID,我使用的意图重定向到内建ContactDetailActivity通过使用下面的代码段:
Intent intent = new Intent(Intent.ACTION_VIEW);
Uri uri =
Uri.withAppendedPath(
ContactsContract.Contacts.CONTENT_URI, String.valueOf(contactId));
intent.setData(uri);
intent.setFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
的问题是,我解锁屏幕以查看显示信息的联系活动。我认为这个问题是由于我没有为ContactDetailActivity
指定标志WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED,但是我无法弄清楚该怎么办,也不知道是否有可能?
是否有一个简单的方法来实现我的目的。否则,我看到的最后一个解决方案是创建一个类似ContactDetailActivity
的自定义活动,以便我可以放置WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
标志。但是,这似乎过分。
谢谢您的建议。我正在调查你提出的建议,但我不确定'QuickContactBadge'默认有权在锁屏上显示联系信息。一旦我测试过,我会回来。 – Laurent
我试图使用QuickContactBadge,但问题是相同的,当从锁屏活动创建QuickContactBadge时,屏幕必须解锁才能显示弹出式菜单:( – Laurent