Android 从Broadcastreceiver发出的触发通知在按下时关闭应用程序

Android 从Broadcastreceiver发出的触发通知在按下时关闭应用程序,android,notifications,broadcastreceiver,Android,Notifications,Broadcastreceiver,我有一个应用程序,它有三个基本的3类,分别是1-MainActivity、2-DetailActivity和3-Broadcast。即使应用程序已关闭,但接收器仍在工作,若它接收到某些内容,则会发出通知。当我按下notification时,它正在打开Detail类。在这一点上没有问题,它是完美的工作。但如果我在活动中按回。它是指向我的电话主页。但应用程序应该引导我到主类。应用程序引导我进入主页后,如果我从后台运行应用程序返回应用程序,它将启动主类我正在使用的文档代码如下: <activit

我有一个应用程序,它有三个基本的3类,分别是1-MainActivity、2-DetailActivity和3-Broadcast。即使应用程序已关闭,但接收器仍在工作,若它接收到某些内容,则会发出通知。当我按下notification时,它正在打开Detail类。在这一点上没有问题,它是完美的工作。但如果我在活动中按回。它是指向我的电话主页。但应用程序应该引导我到主类。应用程序引导我进入主页后,如果我从后台运行应用程序返回应用程序,它将启动主类我正在使用的文档代码如下:

<activity
    android:name=".MainActivity"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
<activity
    android:name=".DetailActivity"
    android:parentActivityName=".MainActivity">
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value=".MainActivity"/>
</activity>

正如@MeknessiHamida提到的..您应该覆盖
OnBackPressed
方法,并启动启动主活动的意图。

您只需要在detailsActivity中覆盖它(根据您的问题):创建一个指向主活动的意图:

@重写public void onBackPressed(){
//在这里包括代码

return;}

事实上,我在反复尝试之后找到了答案

PendingEvent.FLAG_更新_当前

更改这一行后,它工作正常,也可以代替“.this”,我使用的是getApplicationContext();上下文

 PendingIntent resultPendingIntent =
                stackBuilder.getPendingIntent(
                        0,
                        PendingIntent.FLAG_IMMUTABLE
                );

重写back button press方法以获得所需的行为如果这是解决方案,我需要在manifest和java中添加parentActivityName等。
 PendingIntent resultPendingIntent =
                stackBuilder.getPendingIntent(
                        0,
                        PendingIntent.FLAG_IMMUTABLE
                );