推送通知以打开特定活动

时间:2018-10-31 23:25:39

标签: android xamarin push-notification visual-studio-app-center

考虑3个活动:
(A)登录活动(主启动器)
(B)主要活动
(C)具体活动

用户登录(A)后,他们将访问(B),并且只能从(B)中访问(C)。

现在,每次打开应用程序时,它将首先启动(A),然后启动(B)。

我想发出一个推送通知,当单击该通知时,它可以访问(C),但必须首先启动(B)。

我正在使用Xamarin.Android + Appcenter推送通知

当我的应用程序处于前台和后台时,我都可以收到通知。

我的问题是我的应用程序在后台运行时,单击状态栏中收到的通知会导致它重新启动应用程序,从(A)开始。

我需要跳过(A)的帮助,因为用户已经登录,打开(B)然后打开(C)

有什么想法吗?希望这对你们来说不太混乱。

我也尝试将launchMode = singleInstance设置为(A)和(B),但它仍会重新启动应用程序

2 个答案:

答案 0 :(得分:1)

您无法动态更改启动器活动,但是可以尝试以下几种解决方法:

创建一个透明的活动并将其作为启动器活动:

<activity
android:name=".ActivityLauncher"
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" >
<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

然后选择onCreate()

中的下一个活动
if ( logged() ) {
   intent = new Intent(this,ActivityB.class);
} else {
   intent = new Intent(this,ActivityA.class);
}
startActivity(intent);
finish();

答案 1 :(得分:-1)

您可以实现此目的,发送一个活动名称或一些值来选择您的活动。根据您发送的值,您可以启动活动,也可以在您返回通知活动时在后台添加活动。

我一直很喜欢这样,希望这对您有用。

相关问题