Наследование: IProximityDevice
        public void PingAdversary(ProximityDevice device, NotifyNfcReady notify)
        {
            if (subscribeId != -1)
            {
                proximityDevice.StopSubscribingForMessage(subscribeId);
                subscribeId = -1;
            }

            if (publishId != -1)
            {
                proximityDevice.StopPublishingMessage(publishId);
                publishId = -1;
            }

            if (state == NfcManager.ProtoState.Busy)
            {
                return;
            }

            state = NfcManager.ProtoState.NotReady;
            notifyReady = notify;
            initialMessage.devicetime = random.NextDouble();
            MemoryStream stream = new MemoryStream();
            DataContractSerializer serializer = new DataContractSerializer(initialMessage.GetType());
            serializer.WriteObject(stream, initialMessage);
            stream.Position = 0;
            var dataWriter = new DataWriter();
            dataWriter.WriteBytes(stream.GetBuffer());
            proximityDevice = device;
            publishId = proximityDevice.PublishBinaryMessage("Windows.CarTrumps", dataWriter.DetachBuffer());
            subscribeId = proximityDevice.SubscribeForMessage("Windows.CarTrumps", OnMessageReceived);
        }
       private void OnWriteableTagArrived(ProximityDevice sender, ProximityMessage message)
       {
    
           var dataWriter = new DataWriter();
           dataWriter.UnicodeEncoding = Windows.Storage.Streams.UnicodeEncoding.Utf16LE;
           string appLauncher = string.Format(@"mywaiter:MainPage?source=3");
 
           dataWriter.WriteString(appLauncher);
           pubId = sender.PublishBinaryMessage("WindowsUri:WriteTag", dataWriter.DetachBuffer());
   
       }
        public MainPage()
        {
            this.InitializeComponent();

            Synopsis.Text += "\n\n";
            try
            {
                proximityDevice = ProximityDevice.GetDefault();
                Synopsis.Text  += proximityDevice.DeviceId + "\n\n";
            }
            catch (Exception e)
            {
                Synopsis.Text += e.ToString() + "\n\n";
            }

            if (proximityDevice != null)
            {
                proximityDevice.DeviceArrived  += DeviceArrived;
                proximityDevice.DeviceDeparted += DeviceDeparted;
            }
            else
            {
                Synopsis.Text += "No proximity device found\n";
            }
        }
 // デバイスを認識した
 void proximityDevice_DeviceArrived( ProximityDevice sender )
 {
     Dispatcher.BeginInvoke( new Action( () =>
     {
         TextMessage.Text = @"デバイスを見つけました";
     } ) );
 }
 // デバイスが離れた
 void proximityDevice_DeviceDeparted( ProximityDevice sender )
 {
     Dispatcher.BeginInvoke( new Action( () =>
     {
         TextMessage.Text = @"デバイスがなくなりました";
     } ));
 }
Пример #6
0
 private void messageReceived(Windows.Networking.Proximity.ProximityDevice device,
                              Windows.Networking.Proximity.ProximityMessage message)
 {
     Dispatcher.BeginInvoke(() =>
                            MessageBox.Show("Message received: " + message.DataAsString)
                            );
 }
 // 対応端末を発見した
 async void proximityDevice_DeviceArrived( ProximityDevice sender )
 {
     await Dispatcher.RunAsync( Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
     {
         TextMessage.Text = @"デバイスを見つけました";
     } );
 }
Пример #8
0
 /// <summary>
 /// Gets called when a NFC device is detected.
 /// </summary>
 /// <param name="sender">ProximityDevice instance</param>
 private void DeviceArrived(ProximityDevice sender)
 {
     Dispatcher.BeginInvoke(() =>
     {
         logText = "\nDetected at " + DateTime.Now.Hour + ":" + DateTime.Now.Minute + ":" + DateTime.Now.Second;
     });
 }
Пример #9
0
        private void PublishLaunchApp()
        {
            proximityDevice = Windows.Networking.Proximity.ProximityDevice.GetDefault();

            if (proximityDevice != null)
            {
                // The format of the app launch string is: "<args>\tWindows\t<AppName>".
                // The string is tab or null delimited.

                // The <args> string can be an empty string ("").
                string launchArgs = "user=default";

                // The format of the AppName is: PackageFamilyName!PRAID.
                string praid = "{b8c21b6b-2f16-49f6-9ee9-b3a713c54500}"; // The Application Id value from your package.appxmanifest.

                string appName = Windows.ApplicationModel.Package.Current.Id.FamilyName + "!" + praid;

                string launchAppMessage = launchArgs + "\tWindows\t" + appName;

                var dataWriter = new Windows.Storage.Streams.DataWriter();
                dataWriter.UnicodeEncoding = Windows.Storage.Streams.UnicodeEncoding.Utf16LE;
                dataWriter.WriteString(launchAppMessage);
                var launchAppPubId =
                    proximityDevice.PublishBinaryMessage(
                        "LaunchApp:WriteTag", dataWriter.DetachBuffer());
            }
        }
        protected override void OnNavigatedTo( NavigationEventArgs e )
        {
            base.OnNavigatedTo( e );

            try {

                // NFCデバイスがない場合にはnullが返る
                // NFCデバイスがあり、WMAppManifest.xmlの「機能|ID_CAP_PROXINITY」にチェックがない場合は例外が発生する
                proximityDevice = ProximityDevice.GetDefault();
                if ( proximityDevice == null ) {
                    throw new Exception( "NFCデバイスが見つかりません" );
                }

                // デバイスの認識、消失イベント
                proximityDevice.DeviceArrived += proximityDevice_DeviceArrived;
                proximityDevice.DeviceDeparted += proximityDevice_DeviceDeparted;

                TextSendMessage.Text = @"Hello NFC!! From Windows Phone";
            }
            catch ( Exception ex ) {
                MessageBox.Show( ex.Message );

                TextMessage.Text = ex.Message;
            }
        }
Пример #11
0
        public async void Run(IBackgroundTaskInstance taskInstance)
        {
            //
            // TODO: Insert code to perform background work
            //
            // If you start any asynchronous methods here, prevent the task
            // from closing prematurely by using BackgroundTaskDeferral as
            // described in http://aka.ms/backgroundtaskdeferral

            _deferral = taskInstance.GetDeferral();

            await Task.Delay(30000);

            bs = new RateSensor();
            bs.RateSensorInit();

            await Task.Delay(1000);

            bs.RateMonitorON();

            deviceWatcher = DeviceInformation.CreateWatcher(
                "System.ItemNameDisplay:~~\"Adafruit\"",
                new string[] {
                "System.Devices.Aep.DeviceAddress",
                "System.Devices.Aep.IsConnected"
            },
                DeviceInformationKind.AssociationEndpoint);

            deviceWatcher.Added   += DeviceWatcher_Added;
            deviceWatcher.Removed += DeviceWatcher_Removed;
            deviceWatcher.Start();

            // NFC
            proxDevice = ProximityDevice.GetDefault();
            if (proxDevice != null)
            {
                proxDevice.SubscribeForMessage("NDEF", messagedReceived);
            }
            else
            {
                Debug.WriteLine("No proximity device found\n");
            }

            this.timer = ThreadPoolTimer.CreateTimer(Timer_Tick, TimeSpan.FromSeconds(2));

            try
            {
                await Task.Run(async() =>
                {
                    while (true)
                    {
                        await Task.Delay(100000);
                    }
                });
            }
            catch (Exception ex)
            {
            }
            deviceWatcher.Stop();
        }
Пример #12
0
        private void PublishLaunchApp()
        {
            proximityDevice = Windows.Networking.Proximity.ProximityDevice.GetDefault();

            if (proximityDevice != null)
            {
                // The format of the app launch string is: "<args>\tWindows\t<AppName>".
                // The string is tab or null delimited.

                // The <args> string must have at least one character.
                string launchArgs = "user=default";

                // The format of the AppName is: PackageFamilyName!PRAID.
                string praid = "MyAppId"; // The Application Id value from your package.appxmanifest.

                string appName = Windows.ApplicationModel.Package.Current.Id.FamilyName + "!" + praid;

                string launchAppMessage = launchArgs + "\tWindows\t" + appName;

                var dataWriter = new Windows.Storage.Streams.DataWriter();
                dataWriter.UnicodeEncoding = Windows.Storage.Streams.UnicodeEncoding.Utf16LE;
                dataWriter.WriteString(launchAppMessage);
                publishedUriId =
                    proximityDevice.PublishBinaryMessage(
                        "NDEF:WriteTag", dataWriter.DetachBuffer(), proximityWriteTagLaunchAppMessageTransmitCallback);
            }
        }
 void DeviceDeparted(ProximityDevice proximityDevice)
 {
     var ignored = Dispatcher.RunAsync(CoreDispatcherPriority.Low, () =>
     {
         ProximityDeviceEventsOutputText.Text += "Proximate device departed\n";
     });
 }
Пример #14
0
 // no args
 public void registerNdef(string args)
 {
     Debug.WriteLine("Registering for NDEF");
     proximityDevice = ProximityDevice.GetDefault();
     subscribedMessageId = proximityDevice.SubscribeForMessage("NDEF", MessageReceivedHandler);
     DispatchCommandResult();
 }
Пример #15
0
 private void initializeProximitySample()
 {
     device = Windows.Networking.Proximity.ProximityDevice.GetDefault();
     if (device == null)
         Debug.WriteLine("Failed to initialized proximity device.\n" +
                          "Your device may not have proximity hardware.");
 }
        // Constructor
        public MainPage()
        {
            InitializeComponent();

            if (App._isoStorage.Count == 0) { 
                App._isoStorage.Add("lista", new List<Check>());
                App._isoStorage.Add("cont", 1);
            }

            listaCheck = (List<Check>) App._isoStorage["lista"];

            cont = (int) App._isoStorage["cont"];
            proximityDevice = Windows.Networking.Proximity.ProximityDevice.GetDefault();

            if (proximityDevice != null)
            {
                proximityDevice.DeviceArrived += ProximityDeviceArrived;
                proximityDevice.DeviceDeparted += ProximityDeviceDeparted;

            }




            // Sample code to localize the ApplicationBar
            //BuildLocalizedApplicationBar();
        }
Пример #17
0
 private void NdefButton_Click(object sender, RoutedEventArgs e)
 {
     if (_device != null) return;
     // Start NDEF subscription
     _device = ProximityDevice.GetDefault();
     _subscribedMessageId = _device.SubscribeForMessage("NDEF", MessageReceivedHandler);
     SetStatusOutput("Subscribed for NDEF / NFC");
 }
Пример #18
0
 /// <summary>
 /// Gets called when a detected NFC device is disconnected after arrival.
 /// </summary>
 /// <param name="sender">ProximityDevice instance</param>
 private void DeviceDeparted(ProximityDevice sender)
 {
     Dispatcher.BeginInvoke(() =>
     {
         logText = logText + "\nLost at " + DateTime.Now.Hour + ":" + DateTime.Now.Minute + ":" + DateTime.Now.Second + "\n";
         AppText.Text = logText + AppText.Text;
     });
 }
Пример #19
0
 private void Device_DeviceDeparted(ProximityDevice sender)
 {
     Dispatcher.BeginInvoke(() =>
     {
         var @event = new DepartedNfcEvent();
         Events.Add(@event);
     }
                    );
 }
Пример #20
0
 private void BtnInitNfc_Click(object sender, RoutedEventArgs e)
 {
     // Initialize NFC
     _device = ProximityDevice.GetDefault();
     // Update status text for UI
     SetStatusOutput(_device != null ? AppResources.StatusInitialized : AppResources.StatusInitFailed);
     // Update enabled / disabled state of buttons in the User Interface
     UpdateUiForNfcStatus();
 }
Пример #21
0
 private void messageReceived(
     Windows.Networking.Proximity.ProximityDevice device,
     Windows.Networking.Proximity.ProximityMessage message)
 {
     var ignored = Dispatcher.RunAsync(CoreDispatcherPriority.Low, () =>
     {
         Synopsis.Text += "Message received: " + message.DataAsString + "\n";
     });
 }
Пример #22
0
 public NfcPlugin()
 {
     Debug.WriteLine("Nfc Plugin");
     proximityDevice = ProximityDevice.GetDefault();
     if (proximityDevice == null) // shouldn't happen
     {
         Debug.WriteLine("WARNING: proximity device is null");
     }
 }
Пример #23
0
 /// <summary>
 /// Constructor.
 /// </summary>
 public MainPage()
 {
     InitializeComponent();
     recordList = new List<NdefRecord>();
     device = ProximityDevice.GetDefault();
     device.DeviceArrived += DeviceArrived;
     device.DeviceDeparted += DeviceDeparted;
     SubscribeForMessage();
 }
Пример #24
0
 private async void DeviceDeparted(ProximityDevice sender)
 {
     // Những sự kiện này được kích hoạt trên thread khác nên không thể gán bình thường mà phải dùng Dispatcher
     await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,
         () =>
         {
             this.OutputString("Our friend left us");
         });
 }
Пример #25
0
 private void initializeProximitySample()
 {
     device = Windows.Networking.Proximity.ProximityDevice.GetDefault();
     if (device == null)
     {
         Debug.WriteLine("Failed to initialized proximity device.\n" +
                         "Your device may not have proximity hardware.");
     }
 }
Пример #26
0
		/// <summary>
		/// Devices the arrived.
		/// </summary>
		/// <param name="sender">The sender.</param>
		private void DeviceArrived(ProximityDevice sender)
		{
			//if (sender == this.device)
			//{
			//    System.Diagnostics.Debug.WriteLine("Sender is the same NFC device.");
			//}

			//this.inRange.Invoke<INfcDevice>(this, new NfcDevice(sender));
			InRange.Invoke<INfcDevice>(this, this);
		}
Пример #27
0
        private void messageReceived(ProximityDevice sender,ProximityMessage message)
        {
            Dispatcher.BeginInvoke(() =>
            {
                textBlockTest.Text += "message modetaget: " + message.DataAsString;
                textBlockTest.Text += "Type: " + message.MessageType;
                Debug.WriteLine("Received from {0}:'{1}'", sender.DeviceId, message.DataAsString);

            });
        }
Пример #28
0
 public void SetProximityDevice(ProximityDevice pdevice)
 {
     if (pdevice != null)
     {
         _proximity = pdevice;
         _subscribedMessageId = _proximity.SubscribeForMessage("NDEF", messageReceived);
         _peerFinderStarted = true;
     }
     else
         this.NotifyUser("NFC Device could not be found...", NotifyType.ErrorMessage);
 }
Пример #29
0
        private void proximityWriteTagLaunchAppMessageTransmitCallback(
            Windows.Networking.Proximity.ProximityDevice sender,
            long messageId)
        {
            // The LaunchApp message has been successfully written to a tag.

            var ignored = Dispatcher.RunAsync(CoreDispatcherPriority.Low, () =>
            {
                Synopsis.Text += "message transmit complete\n";
            });
        }
Пример #30
0
        private Boolean initializeProximitySample()
        {
            Boolean deviceProxomity = true;

            device = Windows.Networking.Proximity.ProximityDevice.GetDefault();
            if (device == null)
            {
                deviceProxomity = false;
            }
            return(deviceProxomity);
        }
Пример #31
0
 private void MessageReceivedHandler(ProximityDevice device, ProximityMessage message)
 {
     nfcTag.IsNdefSupported = true;
     nfcTag.Id = new byte[0];
     nfcTag.TechList = new System.Collections.ObjectModel.ObservableCollection<string>();
     var rawMsg = message.Data.ToArray();
     nfcTag.NdefMessage = NdefMessage.FromByteArray(rawMsg);
     if (message.MessageType == "WriteableTag")
         nfcDevice.SubscribeForMessage("WriteableTag", WriteableTagHandler);
     else
         RaiseNewTag(nfcTag);
 }
Пример #32
0
        public ReadBase()
        {
            try
            {
                _proximityDevice = ProximityDevice.GetDefault();

            }
            catch (System.UnauthorizedAccessException)
            {
                //You don't have permission to read NFC
                Mvx.Error("You don't have permission to read NFC. Please update your manifest file");
            }
        }
Пример #33
0
 public NfcForms()
 {
     nfcTag = new NfcFormsTag();
     if (ProximityDevice.GetDefault() != null)
     {
         nfcDevice = ProximityDevice.GetDefault();
         nfcDevice.SubscribeForMessage("NDEF", MessageReceivedHandler);
         nfcTag.IsWriteable = false;
         nfcTag.MaxSize = 0;
         nfcDevice.DeviceArrived += nfcDevice_DeviceArrived;
         nfcDevice.DeviceDeparted += nfcDevice_DeviceDeparted;
     }
 }
Пример #34
0
        private void initNFC()
        {
            // Initialize NFC
            _proximitiyDevice = ProximityDevice.GetDefault();

            if (_proximitiyDevice == null)
            {
                Debug.WriteLine("It seems this is not NFC-available device");
                MessageBox.Show(AppResources.Error_NFC_NotSupported, AppResources.Title_error, MessageBoxButton.OK);
                return;
            }

            _subscriptionIdNdef = _proximitiyDevice.SubscribeForMessage("NDEF", NFCMessageReceivedHandler);
        }
Пример #35
0
 // 构造函数
 public MainPage()
 {
     InitializeComponent();
     _device = ProximityDevice.GetDefault();
     if (_device != null)
     {
         PeerFinder.TriggeredConnectionStateChanged += PeerFinder_TriggeredConnectionStateChanged;
     }
     else
     {
         MessageBox.Show("你的设备不支持NFC功能");
     }
     // 用于本地化 ApplicationBar 的示例代码
     //BuildLocalizedApplicationBar();
 }
Пример #36
0
 private void BtnInitNfc_Click(object sender, RoutedEventArgs routedEventArgs)
 {
     // Initialize NFC
     _device = ProximityDevice.GetDefault();
     // Subscribe for arrived / departed events
     if (_device != null)
     {
         _device.DeviceArrived += NfcDeviceArrived;
         _device.DeviceDeparted += NfcDeviceDeparted;
     }
     // Update status text for UI
     SetStatusOutput(_loader.GetString(_device != null ? "StatusInitialized" : "StatusInitFailed"));
     // Update enabled / disabled state of buttons in the User Interface
     UpdateUiForNfcStatusAsync();
 }
        public void InitializeProximityDevice()
        {
            proximityDevice = Windows.Networking.Proximity.ProximityDevice.GetDefault();

            if (proximityDevice != null)
            {
                proximityDevice.DeviceArrived += ProximityDeviceArrived;
                proximityDevice.DeviceDeparted += ProximityDeviceDeparted;
                proximityDevice.SubscribeForMessage("NDEF", messageReceivedHandler);
                WriteMessageText("Proximity device initialized.\n");
            }
            else
            {
                WriteMessageText("Failed to initialized proximity device.\n");
            }
        }
Пример #38
0
        public eTags()
        {
            InitializeComponent();
            _device = Windows.Networking.Proximity.ProximityDevice.GetDefault();

            if (_device != null)
            {
                //_device.DeviceArrived += ProximityDeviceArrived;
                //_device.DeviceDeparted += ProximityDeviceDeparted;
            }
            else
            {
               StatusOutput.Text += "Failed to initialize proximity device.\n";
            }
            
        }
Пример #39
0
 public NFCTest()
 {
     this.InitializeComponent();
     proxDevice = ProximityDevice.GetDefault();
     if (proxDevice != null)
     {
         proxDevice.DeviceArrived  += DeviceArrived;
         proxDevice.DeviceDeparted += DeviceDeparted;
         proxDevice.SubscribeForMessage("NDEF", messagedReceived);
     }
     else
     {
         WriteMessageText("No proximity device found\n");
         WriteMessageText("No proximity device found\n");
     }
 }
Пример #40
0
 public ProximityDeviceScenario()
 {
     this.InitializeComponent();
     _proximityDevice = ProximityDevice.GetDefault();
     if (_proximityDevice != null)
     {
         // This scenario demonstrates using publish/subscribe in order to publish a message from on PC to the other using
         // the proximity infrastructure.
         // For example, a PC device can publish a contact card or a photo url which can be then used by a PC that
         // subscribed to the message to identify the device involved in the proximity "tap".
         ProximityDevice_PublishMessageButton.Click          += new RoutedEventHandler(ProximityDevice_PublishMessage);
         ProximityDevice_SubscribeForMessageButton.Click     += new RoutedEventHandler(ProximityDevice_SubscribeForMessage);
         ProximityDevice_PublishMessageButton.Visibility      = Visibility.Visible;
         ProximityDevice_SubscribeForMessageButton.Visibility = Visibility.Visible;
         ProximityDevice_PublishMessageText.Visibility        = Visibility.Visible;
     }
 }
Пример #41
0
        // 构造函数
        public MainPage()
        {
            InitializeComponent();

            _device = ProximityDevice.GetDefault();
            if (_device != null)
            {
                _device.DeviceArrived += _device_DeviceArrived;
                _device.DeviceDeparted += _device_DeviceDeparted;
            }
            else
            {
                MessageBox.Show("你的设备不支持NFC功能");
            }
            // 用于本地化 ApplicationBar 的示例代码
            //BuildLocalizedApplicationBar();
        }
Пример #42
0
        private void SubscribeForMessageButton_Click(object sender, RoutedEventArgs e)
        {
            if (proximityDevice == null)
            {
                proximityDevice = ProximityDevice.GetDefault();
            }

            // Make sure NFC is supported
            if (proximityDevice != null)
            {
                // Only subscribe for the message one time.
                if (subscribedMessageId == -1)
                {
                    subscribedMessageId =
                        proximityDevice.SubscribeForMessage("Windows.JumpstartMessageType", messageReceived);
                }
            }
        }
Пример #43
0
        private void InitializeProximityDevice()
        {
            proximityDevice = ProximityDevice.GetDefault();

            if (proximityDevice != null)
            {
                txtInfo.Text = "Your phone has NFC, and NFC has been enabled.\n";

                proximityDevice.DeviceArrived  += ProximityDeviceArrived;
                proximityDevice.DeviceDeparted += ProximityDeviceDeparted;

                txtInfo.Text = "Proximity device initialized.\n";
            }
            else
            {
                txtInfo.Text = "Your phone has no NFC or NFC is disabled\n";
                txtInfo.Text = "Failed to initialized proximity device.\n";
            }
        }
Пример #44
0
        private void PublishUriButton_Click(object sender, RoutedEventArgs e)
        {
            if (proximityDevice == null)
            {
                proximityDevice = ProximityDevice.GetDefault();
            }

            // Make sure NFC is supported
            if (proximityDevice != null)
            {
                // Stop publishing the current message.
                if (publishedMessageId != -1)
                {
                    proximityDevice.StopPublishingMessage(publishedMessageId);
                }

                // Publish the new one
                publishedMessageId = proximityDevice.PublishUriMessage(new Uri(MessageTextBox.Text));
            }
        }
Пример #45
0
        private void PublishMessageButton_Click(object sender, RoutedEventArgs e)
        {
            if (proximityDevice == null)
            {
                proximityDevice = ProximityDevice.GetDefault();
            }

            // Make sure NFC is supported
            if (proximityDevice != null)
            {
                // Stop publishing the current message.
                if (publishedMessageId != -1)
                {
                    proximityDevice.StopPublishingMessage(publishedMessageId);
                }

                // Publish the new one
                publishedMessageId = proximityDevice.PublishMessage("Windows.JumpstartMessageType", MessageTextBox.Text,
                                                                    new MessageTransmittedHandler((s, args) => Dispatcher.BeginInvoke(() => MessageBox.Show("Message transmitted!")))
                                                                    );
            }
        }
Пример #46
0
 private void initializeProximitySample()
 {
     device = Windows.Networking.Proximity.ProximityDevice.GetDefault();
 }
Пример #47
0
 public MainPage()
 {
     this.InitializeComponent();
     proximityDevice = ProximityDevice.GetDefault();
 }
 public ProximityDeviceEvents()
 {
     this.InitializeComponent();
     _proximityDevice = ProximityDevice.GetDefault();
 }
Пример #49
0
 public void ProximityDeviceDeparted(Windows.Networking.Proximity.ProximityDevice device)
 {
     WriteMessageText("Proximate device departed. id = " + device.DeviceId + "\n");
 }