8

Some devices, like Poco F2 Pro, can force dark theme in apps that are not compatible with dark theme.

For example, my app has this theme and is not compatible with dark theme:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

This is my manifest application part, no dark theme enabled:

<application
    android:name=".helpers.CustomApplication"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:largeHeap="true"
    android:theme="@style/AppTheme">

The problem is that devices like Poco F2 Pro, when forcing dark theme in apps, makes my app to be displayed with incorrect and abnormal colors, breaking the UI.

Can that be avoided?

How to force dark theme: https://www.androidauthority.com/android-q-force-dark-mode-984090

NullPointerException
  • 36,107
  • 79
  • 222
  • 382

2 Answers2

18

You can disable Force Dark in your app by setting a flag in your theme:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:forceDarkAllowed">false</item>
</style>
Troy
  • 690
  • 1
  • 7
  • 25
Ginzry
  • 181
  • 6
  • 1
    NOTE: You will need to put this into `app/src/main/res/values-v29/styles.xml` if you support a lower Android API minimum than 29. This directory (and the styles defined in it) will only be used on devices that are running 29+. – Joshua Pinter Oct 25 '21 at 17:51
5

This is an old question, but I thought to post my solution so it may help others.

Change your app theme parent from

parent="Theme.MaterialComponents.DayNight.DarkActionBar"

to

parent="Theme.MaterialComponents.Light.DarkActionBar"
Hanan
  • 459
  • 1
  • 5
  • 16