我有一个简单的任务 - 通过推送特定活动激活应用程序(而不是启动活动)
成像我在应用程序中有3个活动:
一些预先要求:
现在我可以创建几个语句。当我点击按下以激活应用程序时:
现在我使用以下代码生成通知(第1项,Xamarin.Android语法):
var resultIntent = new Intent(Application.Context, typeof(SplashScreen));
resultIntent.AddFlags(ActivityFlags.ClearTop | ActivityFlags.SingleTop);
if (extras.ContainsKey("ItemId"))
{
var itemId = extras["ItemId"];
resultIntent.PutExtra("ItemId", itemId);
}
var resultPendingIntent = PendingIntent.GetActivity(Application.Context, 0, resultIntent, 0);
builder.SetContentIntent(resultPendingIntent);
var notification = builder.Build();
此通知在所有情况下都可以正常使用,但我在这里看到一个问题。 我每次点击通知时都会从一开始就重新启动应用。 我想要的是当应用程序背景化时我只需要激活它(就像iOS一样)并导航到所需的页面(更快的激活并避免重新认证)。
如何实现这一目标并修改上述代码?
答案 0 :(得分:0)
我找到了关于如何模拟启动器图标点击意图的答案。我正在使用它为我的推送创建待定意图:
var launchIntent = PackageManager.GetLaunchIntentForPackage(PackageName);
这正是我想要的,在我的情况下它完全正常。