Android 如何从通知中打开非主活动

Android 如何从通知中打开非主活动,android,Android,在我的应用程序中,我有一个通过通知打开的活动,但未声明为具有主活动或启动器活动· 此外,此活动被声明为具有“singleTop”。 对大多数用户来说效果不错,但有些用户有点小问题。 在某些情况下,当单击通知时,活动被打开,当单击上一步时,显示应用程序主活动。 如何在单击“上一步”时不显示主要活动? 此外,如果用户在此活动中,单击主页,然后单击应用程序图标以打开主活动,则会打开以前打开的活动,即非主活动。这可以改变吗? 谢谢 --舱单的结构是: <activity android:n

在我的应用程序中,我有一个通过通知打开的活动,但未声明为具有主活动或启动器活动· 此外,此活动被声明为具有“singleTop”。 对大多数用户来说效果不错,但有些用户有点小问题。 在某些情况下,当单击通知时,活动被打开,当单击上一步时,显示应用程序主活动。 如何在单击“上一步”时不显示主要活动? 此外,如果用户在此活动中,单击主页,然后单击应用程序图标以打开主活动,则会打开以前打开的活动,即非主活动。这可以改变吗? 谢谢

--舱单的结构是:

    <activity android:name=".MainActivity" android:label="@string/app_name" android:exported="true" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>  


    <activity android:name=".ShowAlarmsActivity" android:launchMode="singleTop" android:exported="true" android:theme="@style/AppThemeWithoutActionBar" />

您可以在按下后覆盖并使用此代码启动父活动

或者,如果您使用的是操作栏,则可以使用父活动标记

Intent intent = new Intent(getApplicationContext(), ParentActivity.class);
startActivity(intent);
此外,如果您想区分用户是否来自通知或应用程序启动,您可以使用intent传递一些关键值并满足它

<meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="parentActivity" />