Android 活动启动时随机抛出非法状态异常

Android 活动启动时随机抛出非法状态异常,android,android-studio,android-manifest,android-theme,android-studio-2.0-beta5,Android,Android Studio,Android Manifest,Android Theme,Android Studio 2.0 Beta5,当我运行我的活动时,我得到一个非法状态异常:你需要在随机时间使用一个Theme.AppCompat主题。我只需要重建项目,并在下一次运行时启动活动,但在一些运行之后,我再次遇到异常 我检查了我的应用程序和活动主题是否继承自Theme.AppCompat。我的所有活动都扩展了FragmentActivity 我在API 22(Android 5.1.1)上遇到了一个例外,我正在运行Android Studio 2.0 Beta 5 编辑 我使用的是AndroidStudio 1.5,但没有出现错误

当我运行我的活动时,我得到一个
非法状态异常:你需要在随机时间使用一个Theme.AppCompat主题。我只需要重建项目,并在下一次运行时启动活动,但在一些运行之后,我再次遇到异常

我检查了我的应用程序和活动主题是否继承自
Theme.AppCompat
。我的所有活动都扩展了
FragmentActivity

我在API 22(Android 5.1.1)上遇到了一个例外,我正在运行Android Studio 2.0 Beta 5

编辑

我使用的是AndroidStudio 1.5,但没有出现错误。似乎在AS 2.0上,“我的活动”中的
super
指的是
AppCompatActivity
,而不是继承的类
FragmentActivity
。我不能理解这种行为

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="eu.heyway.heywayandroid">

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/Theme.AppCompat.NoActionBar"
        android:name=".HeyWayApplication">
        <activity
            android:name=".login.FacebookLoginActivity"
            android:theme="@style/AppTheme.TriangleBackground">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".configuration.ConfigurationActivity"
            android:label="@string/title_activity_configuration"
            android:theme="@style/AppTheme.TriangleBackground" />
        <activity android:name=".home.HomeActivity"
            android:theme="@style/AppTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
<!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:windowBackground">@color/colorPrimary</item>
        <item name="windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
    </style>

    <style name="AppTheme.TriangleBackground" parent="AppTheme">
        <item name="android:windowBackground">@drawable/background_full</item>
    </style>

我想知道我是否应该将此报告为错误或我是否做错了什么。

在您的清单中,您缺少minSdktargetSdk条目。设置最小和目标sdk版本。还要确保包括支持库。如果这不起作用,也可以尝试全息主题,看看是否会出现错误

“我的所有活动都扩展了FragmentActivity”--将它们更改为扩展
AppCompatActivity
,或者停止使用
Theme.AppCompat
Theme.AppCompat
AppCompatActivity
使用,而不是
FragmentActivity
Activity
。FragmentActivity和Theme.AppCompat--导致问题。我在这里找到了第二个公共软件解决方案。我在AppCompatActivity上也遇到了同样的问题。实际上,我在看到问题后从AppCompatActivity进行了更改。因此,当我更改清单中的某些内容时,错误不会在下次启动时显示。我想知道Android Studio新的快速构建功能是否对此负责。minSdk和targetSdk是由gradle设置的。包括支持库。如果我能避免使用全息照片,那也太好了。
public class BaseActivity extends FragmentActivity {

    @Override
    protected void attachBaseContext(Context newBase) {
        super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
    }
}