From dd7e4794fd611de967c6322dd0bb7ffda41c2f7b Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期一, 29 十一月 2021 16:32:55 +0800 Subject: [PATCH] 增加了安防相关功能 --- SiriIntents/IntentHandler.cs | 170 ++++++++++++++++++++++++++++---------------------------- 1 files changed, 85 insertions(+), 85 deletions(-) diff --git a/SiriIntents/IntentHandler.cs b/SiriIntents/IntentHandler.cs index 8837700..89cbeed 100644 --- a/SiriIntents/IntentHandler.cs +++ b/SiriIntents/IntentHandler.cs @@ -16,7 +16,7 @@ // "<myApp> John saying hello" // "Search for messages in <myApp>" [Register("IntentHandler")] - public class IntentHandler : INExtension, IINSendMessageIntentHandling, IINSearchForMessagesIntentHandling, IINSetMessageAttributeIntentHandling + public class IntentHandler : INExtension//, IINSendMessageIntentHandling, IINSearchForMessagesIntentHandling, IINSetMessageAttributeIntentHandling { protected IntentHandler(IntPtr handle) : base(handle) { @@ -28,107 +28,107 @@ // This is the default implementation. If you want different objects to handle different intents, // you can override this and return the handler you want for that particular intent. - //if (intent is HDLRunSceneIntent) - //{ - // return new SiriKit.HDLRunSceneIntentHandlder(); - //} + if (intent is HDLRunSceneIntent) + { + return new HDLRunSceneIntentHandlder(); + } return this; } - // Implement resolution methods to provide additional information about your intent (optional). - [Export("resolveRecipientsForSearchForMessages:withCompletion:")] - public void ResolveRecipients(INSendMessageIntent intent, Action<INPersonResolutionResult[]> completion) - { - var recipients = intent.Recipients; - // If no recipients were provided we'll need to prompt for a value. - if (recipients.Length == 0) - { - completion(new INPersonResolutionResult[] { INPersonResolutionResult.NeedsValue }); - return; - } + //// Implement resolution methods to provide additional information about your intent (optional). + //[Export("resolveRecipientsForSearchForMessages:withCompletion:")] + //public void ResolveRecipients(INSendMessageIntent intent, Action<INPersonResolutionResult[]> completion) + //{ + // var recipients = intent.Recipients; + // // If no recipients were provided we'll need to prompt for a value. + // if (recipients.Length == 0) + // { + // completion(new INPersonResolutionResult[] { INPersonResolutionResult.NeedsValue }); + // return; + // } - var resolutionResults = new List<INPersonResolutionResult>(); + // var resolutionResults = new List<INPersonResolutionResult>(); - foreach (var recipient in recipients) - { - var matchingContacts = new INPerson[] { recipient }; // Implement your contact matching logic here to create an array of matching contacts - if (matchingContacts.Length > 1) - { - // We need Siri's help to ask user to pick one from the matches. - resolutionResults.Add(INPersonResolutionResult.GetDisambiguation(matchingContacts)); - } - else if (matchingContacts.Length == 1) - { - // We have exactly one matching contact - resolutionResults.Add(INPersonResolutionResult.GetSuccess(recipient)); - } - else - { - // We have no contacts matching the description provided - resolutionResults.Add(INPersonResolutionResult.Unsupported); - } - } + // foreach (var recipient in recipients) + // { + // var matchingContacts = new INPerson[] { recipient }; // Implement your contact matching logic here to create an array of matching contacts + // if (matchingContacts.Length > 1) + // { + // // We need Siri's help to ask user to pick one from the matches. + // resolutionResults.Add(INPersonResolutionResult.GetDisambiguation(matchingContacts)); + // } + // else if (matchingContacts.Length == 1) + // { + // // We have exactly one matching contact + // resolutionResults.Add(INPersonResolutionResult.GetSuccess(recipient)); + // } + // else + // { + // // We have no contacts matching the description provided + // resolutionResults.Add(INPersonResolutionResult.Unsupported); + // } + // } - completion(resolutionResults.ToArray()); - } + // completion(resolutionResults.ToArray()); + //} - [Export("resolveContentForSendMessage:withCompletion:")] - public void ResolveContent(INSendMessageIntent intent, Action<INStringResolutionResult> completion) - { - var text = intent.Content; - if (!string.IsNullOrEmpty(text)) - completion(INStringResolutionResult.GetSuccess(text)); - else - completion(INStringResolutionResult.NeedsValue); - } + //[Export("resolveContentForSendMessage:withCompletion:")] + //public void ResolveContent(INSendMessageIntent intent, Action<INStringResolutionResult> completion) + //{ + // var text = intent.Content; + // if (!string.IsNullOrEmpty(text)) + // completion(INStringResolutionResult.GetSuccess(text)); + // else + // completion(INStringResolutionResult.NeedsValue); + //} - // Once resolution is completed, perform validation on the intent and provide confirmation (optional). - [Export("confirmSendMessage:completion:")] - public void ConfirmSendMessage(INSendMessageIntent intent, Action<INSendMessageIntentResponse> completion) - { - // Verify user is authenticated and your app is ready to send a message. + //// Once resolution is completed, perform validation on the intent and provide confirmation (optional). + //[Export("confirmSendMessage:completion:")] + //public void ConfirmSendMessage(INSendMessageIntent intent, Action<INSendMessageIntentResponse> completion) + //{ + // // Verify user is authenticated and your app is ready to send a message. - var userActivity = new NSUserActivity("INSendMessageIntent"); - var response = new INSendMessageIntentResponse(INSendMessageIntentResponseCode.Ready, userActivity); - completion(response); - } + // var userActivity = new NSUserActivity("INSendMessageIntent"); + // var response = new INSendMessageIntentResponse(INSendMessageIntentResponseCode.Ready, userActivity); + // completion(response); + //} - // Handle the completed intent (required). - public void HandleSendMessage(INSendMessageIntent intent, Action<INSendMessageIntentResponse> completion) - { - // Implement your application logic to send a message here. + //// Handle the completed intent (required). + //public void HandleSendMessage(INSendMessageIntent intent, Action<INSendMessageIntentResponse> completion) + //{ + // // Implement your application logic to send a message here. - var userActivity = new NSUserActivity("INSendMessageIntent"); - var response = new INSendMessageIntentResponse(INSendMessageIntentResponseCode.Success, userActivity); - completion(response); - } + // var userActivity = new NSUserActivity("INSendMessageIntent"); + // var response = new INSendMessageIntentResponse(INSendMessageIntentResponseCode.Success, userActivity); + // completion(response); + //} - // Implement handlers for each intent you wish to handle. - // As an example for messages, you may wish to add HandleSearchForMessages and HandleSetMessageAttribute. + //// Implement handlers for each intent you wish to handle. + //// As an example for messages, you may wish to add HandleSearchForMessages and HandleSetMessageAttribute. - public void HandleSearchForMessages(INSearchForMessagesIntent intent, Action<INSearchForMessagesIntentResponse> completion) - { - // Implement your application logic to find a message that matches the information in the intent. + //public void HandleSearchForMessages(INSearchForMessagesIntent intent, Action<INSearchForMessagesIntentResponse> completion) + //{ + // // Implement your application logic to find a message that matches the information in the intent. - var userActivity = new NSUserActivity("INSearchForMessagesIntent"); - var response = new INSearchForMessagesIntentResponse(INSearchForMessagesIntentResponseCode.Success, userActivity); + // var userActivity = new NSUserActivity("INSearchForMessagesIntent"); + // var response = new INSearchForMessagesIntentResponse(INSearchForMessagesIntentResponseCode.Success, userActivity); - // Initialize with found message's attributes - var sender = new INPerson(new INPersonHandle("sarah@example.com", INPersonHandleType.EmailAddress), null, "Sarah", null, null, null); - var recipient = new INPerson(new INPersonHandle("+1-415-555-5555", INPersonHandleType.PhoneNumber), null, "John", null, null, null); - var message = new INMessage("identifier", "I am so excited about SiriKit!", NSDate.Now, sender, new INPerson[] { recipient }); - response.Messages = new INMessage[] { message }; - completion(response); - } + // // Initialize with found message's attributes + // var sender = new INPerson(new INPersonHandle("sarah@example.com", INPersonHandleType.EmailAddress), null, "Sarah", null, null, null); + // var recipient = new INPerson(new INPersonHandle("+1-415-555-5555", INPersonHandleType.PhoneNumber), null, "John", null, null, null); + // var message = new INMessage("identifier", "I am so excited about SiriKit!", NSDate.Now, sender, new INPerson[] { recipient }); + // response.Messages = new INMessage[] { message }; + // completion(response); + //} - public void HandleSetMessageAttribute(INSetMessageAttributeIntent intent, Action<INSetMessageAttributeIntentResponse> completion) - { - // Implement your application logic to set the message attribute here. + //public void HandleSetMessageAttribute(INSetMessageAttributeIntent intent, Action<INSetMessageAttributeIntentResponse> completion) + //{ + // // Implement your application logic to set the message attribute here. - var userActivity = new NSUserActivity("INSetMessageAttributeIntent"); - var response = new INSetMessageAttributeIntentResponse(INSetMessageAttributeIntentResponseCode.Success, userActivity); - completion(response); - } + // var userActivity = new NSUserActivity("INSetMessageAttributeIntent"); + // var response = new INSetMessageAttributeIntentResponse(INSetMessageAttributeIntentResponseCode.Success, userActivity); + // completion(response); + //} } } -- Gitblit v1.8.0