I have implemented material design into my app and it runs perfectly fine on < Android 5 but when I try to run on Android 5.0 and above I get the following in my logcat.
FATAL EXCEPTION main
Process com.test.test, PID 3195
java.lang.RuntimeException Unable to start activity ComponentInfo{com.test.test/com.test.test.MainActivity} java.lang.RuntimeException A TaskDescription's primary color should be opaque
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java2298)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java2360)
at android.app.ActivityThread.access$800(ActivityThread.java144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java1278)
at android.os.Handler.dispatchMessage(Handler.java102)
at android.os.Looper.loop(Looper.java135)
at android.app.ActivityThread.main(ActivityThread.java5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java694)
Caused by java.lang.RuntimeException A TaskDescription's primary color should be opaque
at android.app.ActivityManager$TaskDescription.<init>(ActivityManager.java536)
at android.app.Activity.onApplyThemeResource(Activity.java3677)
at android.view.ContextThemeWrapper.initializeTheme(ContextThemeWrapper.java140)
at android.view.ContextThemeWrapper.setTheme(ContextThemeWrapper.java85)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java2244)
... 10 more
And here is my styles:
<resources>
<!--
Base application theme, dependent on API level. This theme is replaced
by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-->
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
<style name="AppTheme" parent="@style/Theme.AppCompat.NoActionBar">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
<item name="colorPrimaryDark">#4DFF9800</item>
<item name="colorPrimary">#4D607D8B</item>
</style>
</resources>
If anyone could give me some guidance that would be great thanks.
You can not use alfa in primary color. The primary color has to be opaque.
Change:
<item name="colorPrimaryDark">#4DFF9800</item>
<item name="colorPrimary">#4D607D8B</item>
To
<item name="colorPrimaryDark">#FF9800</item>
<item name="colorPrimary">#607D8B</item>
for api 21 in res/values-v21/style.xml
file
Simple solution to the issue is to remove the opaque applied to the primary color in colors.xml
When opaque is applied to primary color the color code look like this "#aca688ff", where it has to be ex: "#F50057" (6 letters alphanumeric code without opaque).
Hope the above solution helps you to fix the issue.
@Konrad Krakowiak is right.
You can see the source code of android.app.ActivityManager#TaskDescription.
/**
* Creates the TaskDescription to the specified values.
*
* @param label A label and description of the current state of this task.
* @param icon An icon that represents the current state of this task.
* @param colorPrimary A color to override the theme's primary color. This color must be opaque.
*/
public TaskDescription(String label, Bitmap icon, int colorPrimary) {
if ((colorPrimary != 0) && (Color.alpha(colorPrimary) != 255)) {
throw new RuntimeException("A TaskDescription's primary color should be opaque");
}
mLabel = label;
mIcon = icon;
mColorPrimary = colorPrimary;
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With