0

I'm developing an application on windows phone 8.

I would like to get all the icons and the list of installed apps like this app.

If it is impossible to get the list of all apss, how about the icon?

Anton Sizikov
  • 9,105
  • 1
  • 28
  • 39

2 Answers2

0

You can't do that. There is no API for that.

The app you provided was developed by Samsung for it's devices only. That's why they have an access to special hidden API's and abilities.

Also, you question is not very unique.

Community
  • 1
  • 1
Anton Sizikov
  • 9,105
  • 1
  • 28
  • 39
  • Thanks for answer me. But the app I provided works well on my Lumia 520 too! (I really did install the app on my Lumia 520 if you doubt :) ) – user2272870 Aug 30 '13 at 10:30
  • It works because device manufacturers are not allowed to change OS, so they use hidden but not unique API. Anyway Samsung as a developer company has much more abilities as we do. – Anton Sizikov Aug 30 '13 at 10:41
  • Well I understand now. Thanks you that's what I need to know – user2272870 Aug 30 '13 at 10:50
0

Firstly, you need to get all app product id, then use below code to get stream for app icon.

But you couldn't get icon of "setting app" by this way.

IEnumerable<Windows.ApplicationModel.Package> apps = Windows.Phone.Management.Deployment.InstallationManager.FindPackages();
foreach(var app in apps)
{
  if(app.Id.ProductId.Equals("APP_ID", StringComparison.InvariantCultureIgnoreCase)
  {
     var token = p.GetThumbnailToken();
     var name = app.Id.Name + SharedStorageAccessManager.GetSharedFileName(token);
     await SharedStorageAccessManager.CopySharedFileAsync(ApplicationData.Current.LocalFolder, name, NameCollisionOption.ReplaceExisting, token);

     var file = await ApplicationData.Current.LocalFolder.GetFileAsync(name);                    
     var randomStream = await file.OpenReadAsync();
     Stream stream = randomStream.AsStream();
  }
}