Android startActivity运行,但活动未显示在小米红米注4中

Android startActivity运行,但活动未显示在小米红米注4中,android,android-intent,appcompatactivity,Android,Android Intent,Appcompatactivity,我的应用程序有一个服务和一个活动。从服务中,在某些触发器上,使用以下代码调用活动: Intent intent = new Intent(getApplicationContext(), MainActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent)

我的应用程序有一个服务和一个活动。从服务中,在某些触发器上,使用以下代码调用活动:

    Intent intent = new Intent(getApplicationContext(), MainActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
在我的测试手机(主要是三星、联想和华为)上,活动开始并以其布局显示在手机屏幕上。 但是,在使用安卓7的小米红米Note 4上,活动布局不显示。 我在logcat上只看到以下行:

I/时间线:时间线:活动\启动\请求时间:281438674意图:意图{flg=0x30000000 cmp=com.test.app/.MainActivity}

activity类扩展了AppCompatActivity,但我也尝试了一个普通的activity类(相同的布局),结果没有改变

活动在清单中的定义如下:

    <activity
        android:name=".MainActivity"
        android:label="@string/app_name"

        android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

日志中没有异常或其他错误/警告。因此,我无法进一步排除故障。
我能做些什么?

这两个addFlags的目的是什么?它们的目的是只保留一个实例,并处于其他活动的顶部。但我也试过不用那些旗子。结果是一样的。活动从未见过。下面是用户给出的最佳解决方案。2个addFlags的目的是什么?它们的目的是只保留1个实例,并处于其他活动的顶部。但我也试过不用那些旗子。结果是一样的。活动从未见过。以下是用户提供的最佳解决方案