I'm new to windows phone 7 development...
Can anyone please tell me how to calculate call duration? or how to get notification of incoming call? using silverlight or c#
is there any API's available..
Thanks
Sam
There is no way to get calls information or notifications of incoming calls on the current Windows Phone 7 SDK.
There is no way to access call information.
However if your app is running and a call comes in the Obscured event will be triggered. You can then use a combination of the Unobscured, NavigatedTo, Loaded & Activated events to determine when the app has the focus again.
This won't give you the length of the call but rather then time between an event that may be a call (including incoming SMS, alarms, etc.) and the user returning fully to your app. This may be a good enough approximation, but it will depend on your needs.
Related
I've been following this tutorial and have reached the point where I am able to receive push notifications (only working with android for now). My code is almost identical to the tutorial's. I'm now looking to expand the functionality. In the tutorial, when the app receives a RemoteMessage object, it parses out the "action" value from the data. It then passes that string to the NotificationActionService which triggers an action.
public override void OnMessageReceived(RemoteMessage message)
{
if (message.Data.TryGetValue("action", out var messageAction))
NotificationActionService.TriggerAction(messageAction);
}
The downside to this is that the only information it passes to the rest of the program is the name of the action. I want to add additional information. I would usually just add another parameter to the TriggerAction method, but the implementation of INotificationActionService is pretty involved. I'm wondering if its like that for a reason, or if I can just process my message in the OnMessageReceived. What makes me hesitant to change this is that the this action string is also pulled from the Intent on start up, and I'm not sure if if this will break it. I'm not entirely sure how android intents work, but both the RemoteMessage and the Intent would require this extra data inside the dictionary.
So, what is the best way to modify this tutorial to allow extra context to be passed in the push notification?
This is a good question - and realistically there isn't really one answer. Basically, all Android applications are going to be a collection of Activities and Services. You can think of them like independent threads that the OS is aware of and can help manage. Intents are a standardized way to communicate between these threads using a small set of types that are safe to serialize, so the OS can make stronger guarantees about the how and when it'll be delivered. There's a lot of documentation, and a whole world of different ways to architect your application with these. Each approach will have pros and cons, with some options being way too sophisticated for some applications, and others way too simple.
The Xamarin sample you're referencing keeps two separate threads: one for receiving remote notifications and one for rendering notifications. In principle, a developer may do this to allow notifications to be rendered in response to a message from a remote service OR in response to events local to the phone. For instance, my banking app alerts me that I'm being logged-out after 15 minutes of inactivity, and also when new tax documents are available. The first scenario is best served locally, where a notification will be rendered because a timer reached 15 minutes without being reset. The second scenario is better served by a remote notification so the app doesn't need to poll for new documents.
Bottom line - the sample app may be using an approach that introduces more overhead than your scenario calls for. For others it will be too simple. Choose what is right for your application.
I am developing an app in windows phone where I enter the score of the match and the other windows phone users who has the same app should get that score as a toast notification(if any other better way suggest me).
I also want to push the data to this app users from a rss feed. This feed gets refreshed data for every 1 or 2 mins.
IS this possible to implement this in windows phone ?
If you only want to send the notification of the match score to certain users then you could use Push Notifications.
If everyone needs to get the notification then you would just use a BackgroundAgent. The Background agent will run approximately every 30 minutes (if you need it to be more accurate then you're back to Push Notifications). When the agent runs you could just check to see if there are any new match scores since the time the agent last ran and then pop the toast if there are.
You should also use the Background Agent for checking your RSS feed.
Is there anyway when receiving a call to add data to the incoming call screen?
I'd like to be able to add text to that screen if possible.
Update:
If there is no way to currently add text to this screen is there a way to trigger code based off of an incoming phone call?
The only way you can do anything in relation to an incoming call is be informed that this has happened via the Obscured event.
Be aware that other things (such as an alarm) also trigger this event and there is no way within your app to know what caused your app to be obscured.
It there any way to find out if there is an incoming telephone call screen being shown over my application? In fact, while we wouldn't accept call - the application would not be deactivated, so is there any API method or maybe some workarounds like screenshoting and verifying by pixel ? :-)
You can tell if the user is receiving an incoming telephone call using the RootFrame.Obscured event as described here:
http://www.wintellect.com/CS/blogs/jprosise/archive/2011/02/11/silverlight-for-windows-phone-programming-tip-6.aspx
I am developing a application for Windows Phone 7 in which on a button click I need to first send some text messages and then make a call. But as both process are user dependent so I am not getting how should I make it such a way that unless user first finishes the sending messages my app should not initiate call. Because unless I do so it will give thread abort exception.
Thanks;
nil
With the current SDK there is no way to know if the SMS was actually sent. It could also have been changed by the user before being sent!
Lots of people have asked for this functionality (or similar but for other tasks). Let's hope it comes in a future update.
I believe you can't do it in parallel, because WP7 isn't really multitask.
Do you really need to do it in parallel?
Search for the events deactivated and activated. They are in App.cs.
After you make a call, and back to the program, the activated event will detect it, so you can add code there to send SMS.
Done in reverse way. First make a call and then when user comes back after tombstoning send an Email...but flag manipulation need to be saved in isolated storage.