所以我整个晚上看起来像一个僵尸,试图找出操作系统如何处理NDEFLaunchApp记录的NFC点击,我知道以下内容。
我非常确定有一种解决方法可让您从您的应用启动系统应用/第三方应用(如果您知道产品ID / GUID)。由于Windows Phone Store中有应用程序,我已经以某种方式弄清楚了我一直在尝试的内容。
我提出了以下代码:
NdefLaunchAppRecord appLaunchRecord = new NdefLaunchAppRecord();
appLaunchRecord.AddPlatformAppId("WindowsPhone", "{App GUID}");
appLaunchRecord.Arguments = "_default";
// Creating a new NdefMessage from the above record.
var message = new NdefMessage { appLaunchRecord };
// Getting the record from the message that we just created
foreach (NdefLaunchAppRecord record in message)
{
var specializedType = record.CheckSpecializedType(false);
if (specializedType == typeof(NdefLaunchAppRecord))
{
var x = String.Join(" ", record.Payload);
// Getting the payload by GetString gets a formatted Uri with args
string result = System.Text.Encoding.UTF8.GetString(record.Payload, 0, record.Payload.Length);
// result = "\0\fWindowsPhone&{5B04B775-356B-4AA0-AAF8-6491FFEA5630}\0\b_default";
// result = "(null)(form feed)WindowsPhone&{App GUID}(null)(backspace)_default
// So this will be sent to the OS and I believe the OS will then launch the specified app by an unknown protocol
// like xxx://result
// and the app will be launched?
// So is it then possible to somehow call the following:
await Windows.System.Launcher.LaunchUriAsync(new Uri("OUR MAGIC RESULT?", UriKind.RelativeOrAbsolute));
如果有人/可以想出办法,那么它将成为WP社区的真正服务,因为开发人员受到Microsoft的限制,无法打开这些应用程序实际需要的某些设置/应用程序。例如(语音设置,音频设置,关于设置,闹钟,区域设置,日期+时间);
可能有解决方法的APPS:
答案 0 :(得分:0)
bing和zune有保留的uri方案。 请参阅:http://msdn.microsoft.com/en-us/library/windows/apps/jj207065(v=vs.105).aspx
这两个应用程序可以使用这些,并且发现了一些未经证实的方案使用。
如果有一个uri计划通过你的应用程序中的guid启动任何应用程序,它就会隐藏得很好。 目前,您只能启动为uri方案或文件关联注册的应用程序。