locked
Запуск приложения в заданное время RRS feed

  • Вопрос

  • Пытаюсь сделать приложение "Будильник". Впервые разрабатываю приложение :)

     

    Необходимо добавить на страничку "пробуждения" (там где вы нажимаете "Snooze" или "Dismiss") медиа-элементы, например изображения и кнопки. Сначала думал можно отредактировать дефолтную страничку Remind или Alarm, но потом понял что это системная страничка, и доступа (разве что к Title или Content Text) к ней нет.

    Потом, хотел заменить действие Scheduled - с показывания странички "пробуждения", на показывание моей странички - но опять мимо.

    Решил надо делать свою страничку и запускать её в заданное пользователем время. Накопал что-то про фоновые службы, но так и не понял - подходит это для меня или нет, ведь если пользователь убьет процесс - будильник не разбудит его.

     

    Пните пожалуйста в нужном направлении, как сделать запуск медиа-контента в заданное время? И так чтобы пользователь не мог случайно убить его.


    П.с. как вариант, можно сделать NavigationUri на окне Reminder'а - на отдельную страничку с меда-контентом, но в этом случае нужно изменить функции стандартных кнопок "Snooze" или "Dismiss" - что опять-таки не является возможным...

    П.п.с возможно есть способ отслеживать отключил ли пользователь будильник (нажал на кнопку Dismiss) - чтобы сразу вывести сообщение: "хренушки!" и запустить по новой будильник?
    17 августа 2011 г. 18:09

Ответы

  • Сейчас реализовать такую задачу на этой платформе невозможно. Не хватает полной многозадачности. Вышеописанные задачи введены только в версии платформы 7.1, инструменты разработчика к которой еще не вышли в релиз, а сама платформа вышла в релиз буквально на прошлой неделе. Поэтому будет ли полная многозадачность в следующей версии платформы еще неизвестно.
    • Помечено в качестве ответа PetrishkoMVP 21 августа 2011 г. 21:00
    18 августа 2011 г. 14:52

Все ответы

  • Уточните о какой платформе речь WM 6, WP7 или что-то другое?
    18 августа 2011 г. 9:43
  • Уточните о какой платформе речь WM 6, WP7 или что-то другое?

    Windows Phone 7.1
    18 августа 2011 г. 10:41
    • Изменено ulcer 18 августа 2011 г. 10:56 Удалил лишнее форматирование
    18 августа 2011 г. 10:55
  • Посмотри Scheduled Actions for Windows Phone.
    Да, я пробовал, но вариант с Scheduled Notifications мне не подходит, а с Scheduled Tasks не могу разобраться. Делаю как в инструкции, вместо кода
     //TODO: Add code to perform your task in background
     string toastMessage = "";
    
    
    

    Вставляю
     //TODO: Add code to perform your task in background
     string toastMessage = "Wasssup?";
    

    Но так и не могу добиться выполнения своего кода в заданное время, там вот так:
    ScheduledActionService.LaunchForTest(task.Name, TimeSpan.FromSeconds(60));
    

    18 августа 2011 г. 13:00
  • С помощью Scheduled Tasks не сможете добиться желаемого результата:
    1) Не получится запускать в заданное время, поскольку задачи запускаются каждые 30 минут и выполнение даже точно каждые 30 минут не гарантируется - время выполнения может плавать.
    2) Ограничения на то, что можно выполнять в этих задачах.

    Выход: ждать более полной многозадачности, если она будет реализована.
    • Предложено в качестве ответа PetrishkoMVP 18 августа 2011 г. 13:37
    18 августа 2011 г. 13:36
  • С помощью Scheduled Tasks не сможете добиться желаемого результата:
    1) Не получится запускать в заданное время, поскольку задачи запускаются каждые 30 минут и выполнение даже точно каждые 30 минут не гарантируется - время выполнения может плавать.
    2) Ограничения на то, что можно выполнять в этих задачах.

    Выход: ждать более полной многозадачности, если она будет реализована.


    Блин :(

    А как, тогда реализовать отслеживание - выполнил ли пользователь поставленную задачу (скажем нажать на кнопку) или нет. И если нет то задавать будильник снова и снова (скажем, каждые 10 сек)...

     

    Чтобы все стало понятно - я делаю будильник для мазахистов - при пробуждении надо выполнять логические задачики иначе он не заткнется...

    18 августа 2011 г. 14:07
  • Сейчас реализовать такую задачу на этой платформе невозможно. Не хватает полной многозадачности. Вышеописанные задачи введены только в версии платформы 7.1, инструменты разработчика к которой еще не вышли в релиз, а сама платформа вышла в релиз буквально на прошлой неделе. Поэтому будет ли полная многозадачность в следующей версии платформы еще неизвестно.
    • Помечено в качестве ответа PetrishkoMVP 21 августа 2011 г. 21:00
    18 августа 2011 г. 14:52
  • Сейчас реализовать такую задачу на этой платформе невозможно. Не хватает полной многозадачности. Вышеописанные задачи введены только в версии платформы 7.1, инструменты разработчика к которой еще не вышли в релиз, а сама платформа вышла в релиз буквально на прошлой неделе. Поэтому будет ли полная многозадачность в следующей версии платформы еще неизвестно.
    Могу ли я попросить вас, сообщить когда такая возможность появится (и не появились ли уже с Mango SDK)? Я не силен в чтении changelog'ов к инструментариям.
    1 сентября 2011 г. 2:16