Xam.Plugins.Notifier: Android Tap in Xamarin.Forms.Shell



使用 Xam.Plugins.Notifier for Local Notifications 我可以在 Android 中显示通知。但是,当我点击通知时,它会重新加载应用程序。类似于远程通知的方式。

我在 MainActivity 中处理 OnNewIntent(.cs但它永远不会触发。

如何点击 Xam.Plugins.Notifier 发出的本地通知,以便 OnNewIntent(( 触发并显示命令行管理程序项?

protected async override void OnNewIntent(Intent intent)
{
    base.OnNewIntent(intent);
    var title = intent.GetStringExtra("title");
    if (title != null)
    {
        await Shell.Current.GoToAsync("Tools/Sales");
    }
}

我有一个实际启动应用程序的启动画面活动:

如何将启动活动的意图从启动点传递到主活动

[Activity(Theme = "@style/MyTheme.Splash", MainLauncher = true, NoHistory = true, LaunchMode = Android.Content.PM.LaunchMode.SingleTop)]
public class SplashActivity : AppCompatActivity
{

    public override void OnCreate(Bundle savedInstanceState, PersistableBundle persistentState)
    {
        base.OnCreate(savedInstanceState, persistentState);
    }
    // Launches the startup task
    protected override void OnResume()
    {
        base.OnResume();
        StartActivity(new Intent(Application.Context, typeof(MainActivity)));
    }
    public override void OnBackPressed() { }

}

MainActivty类上,将其LaunchMode设置为 SingleTop,以便操作系统将重用该活动(如果它都已在运行而不是启动一个新活动(:

[Activity(Label = "Your Xamarin Forms App", MainLauncher = true, Icon = "@mipmap/icon", LaunchMode = Android.Content.PM.LaunchMode.SingleTop)]

注意:通知意图有两个入口点进入MainActvity

一个。如果活动已在运行,则将按照您在通知上设置的目的调用OnNewIntent

二.如果您的应用未运行,MainActvity将创建为正常启动,但将包含来自通知的意图,因此请在 OnCreate 中检查意向。

相关内容

  • 没有找到相关文章

最新更新