Определение того, установлен ли Dropbox, невозможно из приложения UWP.Или, по крайней мере, вероятно, не рекомендуемый метод доступа к Dropbox из приложения UWP.
В Windows местоположение папки Dropbox пользователя хранится в %localappdata%\Dropbox\info.json
, поэтому в приложениях WPF / WinForms / Console вы можете использоватьчто-то вроде: -
using Newtonsoft.Json.Linq;
using System;
using System.IO;
public static class Dropbox
{
private static string _Path;
public static string Path
{
get { return _Path ?? (_Path = GetPath()); }
}
static string GetPath()
{
var appDataPath = Environment.GetFolderPath(
Environment.SpecialFolder.LocalApplicationData);
var filePath = System.IO.Path.Combine(appDataPath, @"Dropbox\info.json");
dynamic dropboxInfo = JObject.Parse(File.ReadAllText(filePath));
string folderPath = dropboxInfo.personal.path;
return folderPath;
}
}
Из-за отсутствия доступа к %localappdata%
этот метод становится первым препятствием в приложении UWP.
Это оставляет вас либо запрашивающим пользователя для Dropboxрасположение папки, не зная, установлена ли она или использует Dropbox SDK для подключения к Dropbox и доступа к файлам независимо от копии, уже имеющейся у пользователя локально через клиент Dropbox.