我希望我的活动显示在锁屏上(工作正常)。但我想让这项活动透明化。
我尝试了两种方法都不允许我的活动在锁屏上显示。
方法1
android:theme="@android:style/Theme.Translucent.NoTitleBar"
方法2
<style name="Theme.Transparent" parent="android:Theme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
两者都不允许在锁屏上显示活动。
你知道有什么方法吗?
答案 0 :(得分:0)
尝试在您的活动中设置以下代码。我没有尝试过,它可能会有效。
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
答案 1 :(得分:0)
这是因为您将windowIsFloating定义为true。如果宽度或高度被修改,或者设置为浮动,则活动不会在锁屏前显示。
您应该将windowIsFloating设置为false,将windowBackground设置为透明,如果您仍然喜欢对话框效果,请创建一个dialogfragment,并在活动的onCreate中显示该对话框。当然,从活动中删除ActionBar:
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>