Активность не называлась финишем? (API 23)

Я получаю следующую ошибку, и я не знаю, почему это происходит.

Ошибка:

08-23 17:07:46.533 22454-22454/com.abc E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: com.abc, PID: 22454 java.lang.RuntimeException: Unable to resume activity {com.abc/com.abcMainActivity}: java.lang.IllegalStateException: Activity {com.abc/com.abcMainActivity} did not call finish() prior to onResume() completing at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3103) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3134) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2481) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: java.lang.IllegalStateException: Activity {com.abc/com.abcMainActivity} did not call finish() prior to onResume() completing at android.app.Activity.performResume(Activity.java:6324) at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3092)             at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3134)             at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2481)             at android.app.ActivityThread.-wrap11(ActivityThread.java)             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)             at android.os.Handler.dispatchMessage(Handler.java:102)             at android.os.Looper.loop(Looper.java:148)             at android.app.ActivityThread.main(ActivityThread.java:5417)             at java.lang.reflect.Method.invoke(Native Method)             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

Код:

 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); System.out.println("Started"); } 

Я пытаюсь запустить код на AVD, работающем под управлением Android версии 6.0 (API 23), работает с API 22.

Это ошибка в предварительном просмотре разработчика Android M. Подробнее

У меня такая же проблема, такая же авария с

 did not call finish() prior to onResume() completing 

сообщение об ошибке. Поэтому я создал v23 \ styles.xml

 <style name="AppTheme" parent="android:Theme.Translucent"> ... </style> 

В то время как обычный стиль.xml имеет

 <style name="AppTheme" parent="android:Theme.NoDisplay"> ... </style> 

Он отлично работает, больше не падает. Однако я не знаю, насколько хорошо это решение, использовать Theme.Translucent в API 23, тем более, что он определяется как

Тема для полупрозрачной деятельности (на уровне API 10 и ниже).

Я действительно надеюсь, что они исправят эту ошибку.

Я нашел обходное решение. Вызов setVisible(true) в onStart() :

 @Override protected void onStart() { super.onStart(); setVisible(true); } 

Моя невидимая активность показывает диалог подтверждения. Это действительно потеряло дизайн материального дизайна, когда я использовал android:Theme.Translucent.NoTitleBar .

Итак, основываясь на ответах выше и блоге CommonWare и определениях тем Android, я использую этот стиль, который расширяет обычную тему AppCompat.Light:

 <style name="AppTheme.NoDisplay" parent="Theme.AppCompat.Light"> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowContentOverlay">@null</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowAnimationStyle">@android:style/Animation</item> <item name="android:windowDisablePreview">true</item> <item name="android:windowNoTitle">true</item> </style> 

Где android 23> https://www.youtube.com/watch?v=NAcUGwCkrcs

Manifest:

 android:theme="@android:style/Theme.Translucent.NoTitleBar" Activity extends from Activity. Not AppCompatActivity. 

И для версии> = 23

 if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){ getWindow().setStatusBarColor(getResources().getColor(android.R.color.transparent))} 

Попробуйте изменить targetSdkVersion на 22 в build.gradle. Theme.NoDisplay показывает ошибку в уровне 23 api.