我需要能够触摸通知,打开Activity B。用户完成Activity B后,他们可以按返回按钮或完成Activity B。当Activity B关闭时,应显示Activity A。目前,我关闭Activity A(这会关闭整个应用程序)并收到推送通知。我选择推送通知,打开Activity B。当我关闭Activity B时,Activity A没有显示,整个应用程序关闭了。我希望在完成Activity B后仍然出现Activity A。
我正在使用Parse SDK通知。在我的自定义ParsePushBroadcastReceiver中,我有以下代码
public class MyReceiver extends ParsePushBroadcastReceiver
{
@Override
public void onPushOpen(Context context, Intent intent)
{
Intent i = new Intent(context, NotificationActivity.class);
i.putExtras(intent.getExtras());
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
我已将其列入Android清单。我的通知活动在清单中为:
<activity
android:name=".NotificationActivity"
android:label="@string/app_name"
android:windowSoftInputMode="adjustPan"
android:screenOrientation="portrait"
android:parentActivityName=".MainActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity"/>
</activity>
在我的通知活动中,我有以下代码在onBackPressed函数中:
public class NotificationActivity extends ActionBarActivity
{...
@Override
public void onBackPressed()
{
if(NavUtils.getParentActivityName(this) != null)
{
Log.d(Constants.NAVIGATION_DEBUG, "Get Parent Activity NOT NULL");
NavUtils.navigateUpFromSameTask(this);
}
else
{
Log.d(Constants.NAVIGATION_DEBUG, "Get Parent Activity NULL");
super.onBackPressed();
}
}
...}
令人惊讶的是,在日志中它指出它不为空,但如果在按下通知之前应用程序被关闭,则它不会导航回Activity A。相反,应用程序会关闭。我希望Activity A能够显示应用程序在通知被按下时是否被关闭,或者应用程序是否已经打开。谢谢!