我需要安装Windows Phone的已安装应用程序。你知道这是否可以从SDK获得?
答案 0 :(得分:6)
我认为以法律方式这是不可能的。
每个应用程序都位于其沙箱中,无法访问父文件夹或其他应用程序。
答案 1 :(得分:3)
可以列出手机上安装的第三方应用程序,但仅限于您的桌面计算机(即不是来自设备上运行的应用程序),因此可能不是您所追求的。
首先,您需要添加对此程序集的引用:
c:\ Program Files(x86)\ Common Files \ microsoft shared \ Phone Tools \ CoreCon \ 10.0 \ Bin \ Microsoft.Smartdevice.Connectivity.dll
然后,以下代码将连接到模拟器(设备的useEmulator = false
),并将安装的所有应用程序的产品ID写入控制台。
int locale = CultureInfo.CurrentCulture.LCID;
bool useEmulator = true;
var datastoreManager = new DatastoreManager(locale);
var phonePlatform = datastoreManager.GetPlatforms()
.Single(p => p.Name == "Windows Phone 7");
var phoneDevice = phonePlatform.GetDevices()
.First(d => d.IsEmulator() == useEmulator);
phoneDevice.Connect();
var apps = phoneDevice.GetInstalledApplications();
foreach(RemoteApplication app in apps)
{
Console.WriteLine(app.ProductID.ToString());
}
phoneDevice.Disconnect();
一些警告:
Genre
或Title
会引发NotImplementedException
答案 2 :(得分:0)
也许您可以解释为什么要获取此信息。在某些情况下可能会找到解决方案,例如,如果您想知道设备上是否安装了其他应用程序。 (这不太可能是设备上的,可能依赖于Web服务来跟踪您的安装基础。)
当然,掌握这些知识并不一定能帮到你。您无法启动其他应用程序,也无法直接与其进行交互,因此可能只是浪费时间尝试。
答案 3 :(得分:0)
此时,没有此类API来获取已安装应用程序的列表。 限制更多事情以维护用户数据的安全性。 :)