【问题标题】:Xamarin.Forms. Is there any way to bring to front my app?Xamarin.Forms。有什么方法可以将我的应用程序放在前面吗?
【发布时间】:2017-08-24 13:55:59
【问题描述】:

我正在为 android 和 ios 开发一个带有 xamarin 表单的应用程序。该应用程序的要求之一是对来自电子邮件的某些链接作出反应。我能够对这些链接做出反应并在应用程序中创建逻辑,但我需要将应用程序放在前面。

有什么办法吗?

提前谢谢你。 对不起我的英语。

最好的问候。

【问题讨论】:

标签: android ios xamarin.forms applinks


【解决方案1】:

您想查找custom URL schemedeep linking

使用自定义 URL 方案,您可以注册 yourapp://value1/value2。然后,每当有人从电子邮件或以yourapp:// 开头的任何地方打开链接时,您的应用就会启动。

通过深度链接,您甚至可以响应“普通”网址。就像您点击 Facebook 个人资料链接并打开您的应用一样,这就是深度链接。

【讨论】:

  • 我想要这个,但是当我点击链接时,我的应用程序没有显示在前面。
【解决方案2】:

在适用于 Android 的 Xamarin.Forms 中

通过 URL Scheme 在MainActivitySplashActivity 中获得请求后

 protected override void OnCreate(Bundle savedInstanceState)
 {
     base.OnCreate(savedInstanceState);
     var data = Intent?.Data?.EncodedAuthority;
     if (data != null)
     {
        Finish();
        ActivityManager am = (ActivityManager)GetSystemService(Context.ActivityService);
        IEnumerable<RunningTaskInfo> tasklist = am.GetRunningTasks(100);
        am.MoveTaskToFront(tasklist.First().Id, 0);
     }
     else
     {
        //....
     }
 }

你需要添加

 "android.permission.REORDER_TASKS"
 "android.permission.GET_TASKS"

到 AndroidManifest.xml

http://summarynote.blogspot.com/2013/10/android-how-to-bring-app-in-background.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-07
    • 2017-12-11
    • 2011-01-31
    • 2016-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多