public void ImageFromUri(Uri uri) { var uriTool = new UriTool(); ImagePath = uriTool.GetActualPathFromFile(uri); ItemsReceivedEvent?.Invoke(this, EventArgs.Empty); }
public void OnReceive(Context context, Intent intent) { if (intent.Action == null) { return; } Log.Debug($"Received an event: {intent}"); if (intent.Action.Equals(Intent.ActionSend)) { //TODO: Sharing got broken when implementing image picker. Log.Debug("Action directed to ACTION_SEND"); var uri = (Android.Net.Uri)intent.GetParcelableExtra(Intent.ExtraStream); var uriTool = new UriTool(); ImagePath = uriTool.GetActualPathFromFile(uri); Toast.MakeText(context, "Image Received", ToastLength.Short).Show(); while (ContextCompat.CheckSelfPermission(MainActivity.Instance, Manifest.Permission.ReadExternalStorage) != Permission.Granted) { ActivityCompat.RequestPermissions(MainActivity.Instance, new String[] { Manifest.Permission.ReadExternalStorage }, 1); Task.Delay(TimeSpan.FromSeconds(1.5)).Wait(); } ItemsReceivedEvent?.Invoke(this, EventArgs.Empty); } else if (intent.Action.Equals(Intent.ActionSendMultiple)) { Log.Debug("Multiple pictures received!"); ItemsReceivedEvent?.Invoke(this, EventArgs.Empty); } }
public async Task StartAsync(CancellationToken cancellationToken) { if (!_options.RegisterEnabled) { _logger.LogInformation("setting RegisterEnabled to false, will not register to nacos"); return; } uris = UriTool.GetUri(_features, _options.Ip, _options.Port, _options.PreferredNetworks); var metadata = new Dictionary <string, string>() { { PreservedMetadataKeys.REGISTER_SOURCE, $"ASPNET_CORE" }, { MetadataNetVersion, Environment.Version.ToString() }, { MetadataHostOs, Environment.OSVersion.ToString() }, }; if (_options.Secure) { metadata[MetadataSecure] = "true"; } foreach (var item in _options.Metadata) { if (!metadata.ContainsKey(item.Key)) { metadata.TryAdd(item.Key, item.Value); } } foreach (var uri in uris) { for (int i = 0; i < 3; i++) { try { var instance = new Nacos.V2.Naming.Dtos.Instance { Ephemeral = _options.Ephemeral, ServiceName = _options.ServiceName, ClusterName = _options.ClusterName, Enabled = _options.InstanceEnabled, Healthy = true, Ip = uri.Host, Port = uri.Port, Weight = _options.Weight, Metadata = metadata, InstanceId = "" }; _logger.LogInformation("register instance to nacos server, 【{0}】", instance); await _svc.RegisterInstance(_options.ServiceName, _options.GroupName, instance); break; } catch (Exception ex) { _logger.LogError(ex, "register instance error, count = {0}", i + 1); } } } }