Как приложение Магазина Windows 8 (Javascript) может программно открывать панель "Разрешения"?
Я знаю, что мы можем программно открыть панель настроек приложения с помощью
Windows.UI.ApplicationSettings.SettingsPane.getForCurrentView().show()
и приложение создало панели настроек с помощью библиотеки WinJS.
Можно ли программно открыть панель системных настроек, например, панель настроек Разрешения (или Оценить и просмотреть)?
В Руководстве MSDN для устройств, которые получают доступ к личным данным, говорится (в разделе "Другие рекомендации для сообщений отзыва"):
- Не пытайтесь программно запустить страницу "Разрешения" в окне "Настройки".
Но я не мог найти способ сделать это. Я хочу, чтобы пользователи могли нажимать кнопку в приложении, которая непосредственно открывает панель настроек разрешений.
Обновление (24 апреля 2013 г.): найдено в книге " Программирование приложений для Windows 8 с помощью HTML, CSS и JavaScript", стр. 341 (Глава 8: Состояние, настройки, файлы и документы -> Панель настроек и пользовательский интерфейс -> Программный вызов всплывающих окон настроек) из прессы Microsoft:
Примечание. Хотя можно программно вызывать собственные панели настроек, этого нельзя сделать с помощью системных команд, таких как "Разрешения", "Оценить" и "Просмотр". Если у вас есть условие, для которого вам нужно, чтобы пользователь изменил разрешение, например, включение геолокации, рекомендуется отобразить сообщение об ошибке, которое указывает пользователю сделать это.
Это утверждение расходится с документом MSDN. Я до сих пор не знаю, какой из них является правдой.
3 ответа
В приведенном выше заявлении говорится, что вы можете предоставить свои собственные панели SETTINGS (например, с.showSettings()), но это не означает, что вы можете сделать это для Полномочий, а вы - нет.
Утверждения не противоречат друг другу: один говорит "не запускать панель разрешений", а другой - "Вы можете управлять своими собственными настройками".
Разрешения не являются вашими собственными настройками приложения, они контролируются разрешениями пользователя и ОС.
Я могу подтвердить ответ Адама. Приложение не может отображать панели настроек "Разрешения" и "Оценить" и "Просмотр", так как они заполняются Системой. Приложение может показать панель настроек, которую оно заполняет, используя метод showSettings в элементе управления "Параметры".
Для Windows 10 и 11 теперь вы можете запустить
Windows Settings
приложение , включая определенное разрешение, которое вы хотите:
bool result = await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-settings:privacy-webcam"));
В приведенном выше URL-адресе также перечислены все возможные схемы для приложения «Настройки».
Чтобы открыть настройки собственного приложения, позвоните:
await Windows.System.Launcher.LaunchUriAsync(new("ms-settings:appsfeatures-app"));