When is device unique id the same on windows phone? - c#

I'm building an application that is using push notifications, but I want the possibility to send "test" message's to certain phones. I don't know which phones it will be at launch. The way I would like to solve this is by using the "DeviceUniqueId" and using a second app to retrieve it with an name. But I also read questions that it can change, for example when the app is published by a different publisher.
So my question is:
When is the DeviceUniqueId the same and when is it different?

For WP 7.1 apps running on WP 8 devices the value of DeviceExtendedProperties("DeviceUniqueId") will be unique across all applications and will not change if the phone is updated with a new version of the operating system.
For WP 8.0 apps running on WP 8 devices the value of DeviceExtendedProperties("DeviceUniqueId") will be unique per device and per app publisher.
Source

Related

Windows Phone - Get User ID

I need to store and share a user's list of favorites across a Windows Phone 8.1 Silverlight app, and a Windows 8.1 RT app. I have been using Roaming Settings up to this point, but it doesn't work for all connected devices. I have tested my app across a few devices and it syncs for most but not all devices. I have also received some user complaints about this too.
So instead I want to store a user's list of favorites in Azure Blob Storage, with the key being an anonymized user ID. But I can't seem to find any way of determining a user's ID. I have found information about DeviceUniqueId and there is ID_cap_identify_user capability in the manifest file for the Silverlight App (but not for the RT App) but I can't find any documentation on how to utilize this. Any help here would be apprciated.
PS - Does anyone have any theories as to why Roaming Settings isn't working correctly on some devices?
There is an UserInformationClass, BUT take note if you want to use it in reference to windows 10!
If you have a Windows 8 app that uses the UserInformation class, you
should migrate your app to the Universal Windows Platform (UWP) and
access the User class instead. Universal Windows Platform (UWP) apps
that access user information are now expected to declare a new
capability, uap:userAccountInformation, and call new APIs,
Windows.System.User.FindAllAsync and User.GetPropertiesAsync, to get
the data.
There is also an MSDN example on how to use it: https://code.msdn.microsoft.com/windowsapps/Account-picture-name-sample-912baff1

Retrieve station information from FM Radio using Windows Phone 8

I'm having some fun with FMRadio class, in Windows Phone 8, but there is something I couldn't figure out how to do, retrieve station information.
Using the built-in radio app, for some stations some information appear on screen. This can be the name of the station, the name of the current show, the name of the current music. Does anyone know how to retrieve this kind of information? I believe it's retrieved from the FM signal itself.
Thanks
From the documentation:
Caution:
FM radio is supported only in apps that target Windows Phone OS 7.1.
If you use the FMRadio class in apps that target Windows Phone OS 8.0
or later, a RadioDisabledException indicates that the FM radio feature
is not available. On Windows Phone 8 devices with a build of 8.0.10322
or greater, the run-time exception may not occur if you use the
FMRadio API. However, the FMRadio API is not supported for apps that
target Windows Phone OS 8.0.
None of the information you want was made available, and the radio support has been deprecated/removed.

How to Launch a Nokia Apps using HERE Launchers or Uri Schemes

After some research I found two separate links on the NOKIA dev resources website regarding different schemes for using either the HERE Launchers http://developer.nokia.com/resources/library/Lumia/maps-and-navigation/here-launchers/here-launchers-api-reference.html or Uri Schemes http://developer.nokia.com/resources/library/Lumia/maps-and-navigation/here-launchers/wp-uri-schemes-for-location-applications.html to launch NOKIA apps. My first question is, are these limited to only the NOKIA Lumia devices, or can I include these in my app that will be deployed to any WP8 phone? Also, Is there a way to detect, before launching that task, whether the app is actually installed on the user's device? For instance using the HERE launcher option (which seems the most straightforward)
The using declaration
using Nokia.Phone.HereLaunchers;
And on my click event
ExploremapsShowMapTask showmap = new ExploremapsShowMapTask();
showmap.ViewPort = new LocationRectangle(new GeoCoordinate(60.35, 24.60), new GeoCoordinate(60.25, 24.80));
showmap.Show();
HERE maps is not limited only for lumia devices (however - it is pretty pricey and I doubt any non-lumia user would purchase those)
you could try and use an API to get list of installed apps and see whether it is installed or not and than decide whether to run the desired task or not
Windows Phone: How to get list of installed applications & install/remove applications remotely

Emulate a specific WP device?

I'm creating an app for Windows Phone 8 that spits out a 1-10 score rating your phone's performance (Like the Windows Experience Index) but for windows phone. The app is basically done, but due to how this app works differently from device to device, I would like to emulate multiple devices in the WP emulator. I own a HTC 8X, and I know my app works fine using that, but how can I emulate another device, such as a lumia 920, using the Windows Phone emulator?
You can't emulate a specific device in the emulator. As a workaround, you can use the Remote Device Access provided by Nokia. It will allow you to test the app on a large panel of Nokia phones. Unfortunately, I'm not aware of similar test platforms from other constructors.
In the emulator you can test only diferents resolutions and size of rams, i think it would be two of the things you should "scan" in your app so it can help you to test your app
You can test for different resolution and size by this way
But when you need to test mobile like lumia 920 which runs in WP8 os. You need to have WP8 SDk installed in VS2012.

Get Window Phone Signal C#

I've already asked this but for iOS and they told me it was impossible.
I migrated to android and Windows Phone.
For Android I've found but not tested this
http://www.firstdroid.com/2010/05/12/get-provider-gsm-signal-strength/
AFAIK it works. My problem is I'm now testing windows phone but I'm unable to find anything related to this problem. Some people mention WMI and I'm unable to figure out what this is.
Thanks
P.s I,m programming for Windows Phone 8 and 7.1
The closest thing we have is Microsoft.Phone.Net.NetworkInformation and it's parent namespace Microsoft.Phone.Net . These API's don't provide the raw data for the signal but they are able to tell you if the phone is on mobile broadband, the network operator, roaming info, etc. It's designed so that you app can be away of data usage, and intelligently respond when using 3G vs Wifi.
There is a GetSignalBars method in ConnectionProfile, available in Windows Phone 8
http://msdn.microsoft.com/library/windows/apps/windows.networking.connectivity.connectionprofile.getsignalbars.aspx

Categories