锁定屏幕上的透明活动

Posted

技术标签:

【中文标题】锁定屏幕上的透明活动【英文标题】:Transparent activity on lock screen 【发布时间】:2021-10-07 06:59:23 【问题描述】:

我正在尝试在主屏幕和锁定屏幕上显示透明活动。解锁时(在主屏幕中),它正确显示为透明,但在锁定屏幕上有黑色背景。我怎样才能摆脱这个黑色背景? 谢谢

样式定义:

    <style name="MyActivityTheme" parent="Theme.AppCompat.Light.NoActionBar" tools:ignore="NewApi">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:backgroundDimEnabled">true</item>
    </style>

清单定义:

    <application>
        <activity
            android:name=".MyActivity"
            android:windowSoftInputMode="stateVisible"
            android:theme="@style/MyActivityTheme"
            android:showOnLockScreen="true"/>
    </application>

活动布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_
    android:layout_
    android:background="@android:color/transparent"
    android:backgroundTint="@android:color/transparent"
    tools:context=".MyActivity">

    <TextView
        android:id="@+id/textView"
        android:layout_
        android:layout_
        android:textColor="@android:color/holo_green_dark"
        android:text="My Activity"
        android:layout_centerInParent="true"/>
</RelativeLayout>

【问题讨论】:

【参考方案1】:

尽量使用半透明的theme,以避免在锁定状态下出现黑屏。在您的AndroidManifest.xml 中使用android:theme="android:style/Theme.Translucent" 在您的&lt;activity&lt;application&gt;

【讨论】:

我也试过这个,但没有帮助。此外,使用 AppCompatActivity 时不允许使用 Theme.Translucent,并且没有类似 Theme.AppCompat.Translucent 的 appcompant 等价物

以上是关于锁定屏幕上的透明活动的主要内容,如果未能解决你的问题,请参考以下文章

默认锁定屏幕上的 Android 活动

如何在锁定屏幕上保持 osx 上的菜单栏应用程序“活动”?

屏幕锁定时会停止WebView媒体内容(调用活动的onStop)

如何在android中启用“在锁定屏幕中显示”权限

即使屏幕在Android中被锁定,也会启动活动屏幕

活动从锁定屏幕开始时没有声音