I write a application use notifycation on winphone 8. My application require send URI continuous to server every 30 seconds. My problem, i used reminder of winphone, but it can't use webbrowser call request in reminder.
My code:
public MainPage()
{
InitializeComponent();
var reminder = new Reminder("MyReminder")
{
Content = "Sending uri to server...",
BeginTime = DateTime.Now.AddSeconds(30),
webBrowser1.Navigate(new Uri("http://nhomxe.vn/device_register?uri="http://...", UriKind.Absolute));
};
ScheduledActionService.Add(reminder);
}
I think you're misunderstanding what the Reminder
class is for and how to use it.
The Reminder
class will display a prompt to the user with a piece of shell UI and allow them to tap on it to open your app. (Similar to an Alarm
which also displays UI and allows you to customize the sound that is played but doesn't support a direct link to the app.)
The code you have written doesn't compile because you are writing the code to execute inside the object initializer which won't work. You also appear to have a string concatenation issue but this may just be a spurious quote(").
If you just want to make a request to a URL endpoint you also don't need to load it in a browser.
Assuming that you're wanting to send a message to your server every 30 seconds while the app is running then you could just do this with a Timer
.
Like this:
var timer = new Timer(
state => new WebClient().DownloadStringAsync(new Uri("http://blah.blah/")),
null,
TimeSpan.FromSeconds(30),
TimeSpan.FromSeconds(30));
Obviously add error handling, etc.
It is not possible to have your code run every 30 seconds when your app is not running. If you want to do something when your app is not in the foreground then you need to look at using Background Agents.