注册Xamarin的Intune后未调用RestartApplication

问题描述 投票:0回答:1

根据Microsoft Intune文档。

[当应用程序首次接收MAM策略时,必须重新启动以应用所需的挂钩。为了通知应用程序需要重启,SDK在IntuneMAMPolicyDelegate.h中提供了一个委托方法。 refer here

我已经在Xamarin中实现了同样的功能。

var authResult = await adalHelper.Authenticate();

if(authResult != null && !string.IsNullOrEmpty(authResult.AccessToken)){

var enrollmentDel = new EnrollmentDelegate(this);
IntuneMAMEnrollmentManager.Instance.Delegate = enrollmentDel;


IntuneMAMPolicyManager.Instance.Delegate = new EnrollmentPolicyDelegate();
                       IntuneMAMEnrollmentManager.Instance.RegisterAndEnrollAccount(authResult.UserInfo.DisplayableId.ToLower());

}

EnrollmentPolicyDelegate:

 public class EnrollmentPolicyDelegate : IntuneMAMPolicyDelegate
{
    public override bool RestartApplication
    {
        get
        {
            var returnedVal = base.RestartApplication;

            return returnedVal;
        }
    }
}

根据文档,我应该使用此属性来知道何时需要重新启动应用程序

我需要您的帮助才能解决。在何时何地以及在哪里使用此属性来决定。对我来说,它永远不会被调用。

xamarin xamarin.ios adal intune
1个回答
0
投票

如果您在restartApplication中阅读了IntuneMAMPolicyDelegate.h的文档,则显示:

当应用程序需要重新启动时,Intune SDK会调用此方法,因为政策是第一次收到,或者如果我们正在处理mam-ca修复并作为软件的一部分重新启动,因为我们需要删除现有用户。

据我所知,该方法由Intune SDK管理,您只需要返回ture/false即可确定应由谁来处理重新启动。(这意味着您不必使用此属性来决定)

  • 如果主机应用程序将重新启动on its own,则返回TRUE
  • 返回FALSE,如果主机应用程序希望Intune SDK处理重新启动

并且我检查了一些样本,它们返回false以让Intune SDK处理重启。您可以在Chatr-Sample-Intune-iOS-AppWagr-Sample-Intune-iOS-App中查看源代码。

© www.soinside.com 2019 - 2024. All rights reserved.