Как я могу отправить свое текущее местоположение (долгота и широта) со стандартным текстом (я здесь) с электронным письмом, когда я нажимаю кнопку? - PullRequest
1 голос
/ 25 января 2012

Я хочу знать, как я могу отправить электронное письмо со стандартным текстом типа «Здравствуйте, я здесь» с моим текущим местоположением (долгота и широта), когда я просто нажимаю кнопку в приложении Windows Phone 7.5.

Шаги:

1) Нажмите кнопку 2) Электронное письмо (из моей учетной записи) автоматически отправит его на другое стандартное электронное письмо с моей текущей долготой и широтой, названием города и стандартным текстом«Привет, я здесь».

Заранее спасибо


Работает отлично.Спасибо MyKuLLSKI.

Но у меня есть "проблема".Я не хочу открывать почтовое приложение.Я хочу пропустить это.Когда пользователь нажимает кнопку, я хочу мгновенно отправить электронное письмо с текущим местоположением, и пользователь ничего не делает (больше щелчков).

Один щелчок = отправка электронного письма с указанием местоположения и текстом

1 Ответ

1 голос
/ 25 января 2012

Эй @ Тос, надеюсь, это именно то, что вы ищете. У меня нет устройства под рукой, но это должно работать.

Необходимые ссылки

System.Device

WMAppManifest (Добавьте это к дочернему элементу Capabilities)

<Capability Name="ID_CAP_LOCATION" />

1009 * XAML * <Button Click="ButtonClick"/> Код позади

GeoCoordinateWatcher _GeoCoordinateWatcher;
private void ButtonClick(object sender, RoutedEventArgs e)
{
    try
    {
        _GeoCoordinateWatcher = new GeoCoordinateWatcher(GeoPositionAccuracy.Default);
        _GeoCoordinateWatcher.MovementThreshold = 10; // 10 meters. 
        _GeoCoordinateWatcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(GeoCoordinateWatcherPositionChanged);
        _GeoCoordinateWatcher.Start();
    }

    catch
    {
    }
}

private void GeoCoordinateWatcherPositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
{
    _GeoCoordinateWatcher.PositionChanged -= GeoCoordinateWatcherPositionChanged;

    string latitude = e.Position.Location.Latitude.ToString("0.0000");
    string longitude = e.Position.Location.Longitude.ToString("0.0000");
    string altitude = e.Position.Location.Altitude.ToString("0.0000");

    _GeoCoordinateWatcher.Stop();
    _GeoCoordinateWatcher.Dispose();
    _GeoCoordinateWatcher = null;

    SendEmail("ToAddress@EmailClient.com", "Location", string.Concat("Hello, I'm here: ", latitude, " ", longitude, " ", altitude);
}

private void SendEmail(string to, string subject, string message)
{
    EmailComposeTask emailcomposer = new EmailComposeTask();
    emailcomposer.To = to;
    emailcomposer.Subject = subject;
    emailcomposer.Body = message;
    emailcomposer.Show();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...