При запуске транскулентной активности из трансляции "ACTION_SCREEN_ON" ее фон становится черным.Как исправить черный фон? - PullRequest
0 голосов
/ 19 сентября 2019

Когда моя транскулентная активность началась с трансляции "ACTION_SCREEN_ON", фон становится черным.

Мое приложение прослушивает трансляции "ACTION_SCREEN_ON", "ACTION_SCREEN_OFF" и "ACTION_USER_PRESENT".

Сначала я попытался запустить свою активность в трансляции ACTION_SCREEN_OFF, чтобы запустить активность, когда экран выключен, и показать ее пользователю как можно скорее при нажатии кнопки питания.

После возникновения проблем с черным экраномпроблема Я изменил начальную точку активности и перенес ее в трансляцию "ACTION_SCREEN_ON".Теперь у меня все еще есть проблема.

Когда я запускаю активность из собственного приложения, а не из трансляции, когда экран открыт, проблем не возникает

public void onReceive(Context context, Intent intent) {if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
        //Screen State
        screenState = SCREEN_STATE_OFF;
    }
    else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {

        //Update On Screen Time
        Calendar calendar = Calendar.getInstance();
        onScreenTime = calendar.getTimeInMillis();

        //Check if eligible to show
        Screen_Display_Coordinator d = new Screen_Display_Coordinator(context);
        boolean eligibleToShow = d.CheckIfDisplay();

        if(eligibleToShow)
        {
            Log.i(Statics.LOCK_SCREEN_TAG, "Activity starts");
            Intent i = new Intent(context, LockScreenActivity.class);
            i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
            context.startActivity(i);
        }}}

Мой манифест для связанной деятельности:

<activity
            android:name=".Activites.LockScreenActivity"
            android:configChanges="orientation"
            android:noHistory="true"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.AppCompat.Translucent" />

Theme.AppCompat.Translucent:

Style File <style name="Theme.AppCompat.Translucent">
            <item name="android:windowIsTranslucent">true</item>
            <item name="android:windowBackground">@color/lock_screen_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>

lock_screen_transparent:

<color name="lock_screen_transparent">#5F000000</color>

Ожидаемый результат: иметь транскулентную активность на экране блокировки на фоне экрана блокировки

Фактический результат: не соответствует.Деятельность в основном начинается с черного фона.Если экран блокировки открывается с помощью отпечатка пальца или любым другим способом, черный экран отключается.

Спасибо за прочтение, любая помощь приветствуется.

...