我已在我的应用中设置了按照http://msdn.microsoft.com/library/windows/apps/hh286402(v=vs.105).aspx的指示在应用启动和应用激活时查询LicenseInformation.IsTrial
。我的主要问题是,在发布模式下调用CheckLicense
返回_isTrial = _licenseInfo.IsTrial()
时,如果用户没有活动连接(比如说他们当前没有蜂窝服务),那么应用崩溃?我主要担心的是,每次激活或启动应用程序时都会调用它,因此为了防止应用程序崩溃,我是否需要将当前的试用状态存储在IsolatedStorage中?文档对此并不清楚,我没有在其他任何地方找到任何说明在这种情况下该做什么。
App.xaml.cs
private static LicenseInformation _licenseInfo = new LicenseInformaItion();
private static bool _isTrial = true;
public bool IsTrial
{
get
{
return _isTrial;
}
}
/// <summary>
/// Check the current license information for this application
/// </summary>
private void CheckLicense()
{
// When debugging, we want to simulate a trial mode experience. The following conditional allows us to set the _isTrial
// property to simulate trial mode being on or off.
#if DEBUG
string message = "This sample demonstrates the implementation of a trial mode in an application." +
"Press 'OK' to simulate trial mode. Press 'Cancel' to run the application in normal mode.";
if (MessageBox.Show(message, "Debug Trial",
MessageBoxButton.OKCancel) == MessageBoxResult.OK)
{
_isTrial = true;
}
else
{
_isTrial = false;
}
#else
_isTrial = _licenseInfo.IsTrial();
#endif
}
private void Application_Launching(object sender, LaunchingEventArgs e)
{
CheckLicense();
}
private void Application_Activated(object sender, ActivatedEventArgs e)
{
CheckLicense();
}
答案 0 :(得分:1)
不,如果您没有任何互联网连接,应用程序不会崩溃。这是因为许可证嵌入了应用程序本身,因此也可以在脱机模式下访问。证明这一点的另一个原因是,当您购买提供试用选项的应用程序的完整版本时,该应用程序将知道它运行完全&#39;模式,即使没有互联网连接。
您唯一能做的就是在离线模式下购买该应用。请注意,您的应用不会崩溃,只会出现商店错误。