2014-12-01 54 views
1

我正在使用使用網絡和位置功能的Windows Phone應用程序。在Windows Phone上使用功能的同意對話框

所有使用這些功能或其他功能的應用程序都將首先顯示一個同意對話框(「此應用程序將使用麥克風,您允許這麼做嗎?」)。

默認情況下,Windows Runtime應用程序首次使用此對話框。但是,Windows Phone的應用程序(通用應用程序,仍然使用WinRT)呢?

我應該在第一次使用該功能時顯示一個對話框,或者操作系統自動處理該對話框?在調試模式下,什麼也沒有出現。我也在Release模式下測試了應用程序,但仍然沒有任何結果。那麼,我們是否必須手動處理這個問題,否則當軟件包要在其他設備上安裝和使用時,操作系統將處理這種對話框的顯示?

回答

2

您可以相信,操作系統會做正確的事情爲用戶同意在聲明能力,諸如位置。在Windows上,如您所見,此同意提示在首次運行時發生。 Windows Phone的模型是在安裝時徵求同意。無論哪種方式,系統都會照顧到你的提示 - 你不需要實現自己的提示。

事實上,如果您仔細考慮,您會如何處理來自這種自定義提示的接受/拒絕答案?同意提示的全部目的是讓代理人訪問敏感的WinRT API,這意味着除非授予同意,否則這些API將失敗。應用程序無法自行作出該決定的權力,因爲它會打敗同意的整個目的。因此,即使你自己接受/拒絕,你也無法用這個價值做任何事情。沒有API以編程方式設置權限,因爲只有用戶可以通過設置來執行此操作。

同意提示只是在適當的時候初始化這些權限設置的一種方法,並且您可以相信系統會做正確的事情。

+0

非常感謝您的回答。現在你已經把它寫成文字,如果我想得更好,手動創建提示看起來很奇怪。基本上,在我的應用程序中,如果用戶不接受位置同意,他或她不能真正使用它,它們會重定向到菜單頁面。再次感謝您的澄清。 – VasileF 2014-12-04 18:30:33

+0

是的,這裏的模式是,如果您使用未獲得同意的API,它將會失敗並拒絕訪問。這是您提醒用戶有關權限的信號,或將它們引導至其他地方。 – 2014-12-04 18:43:04

+0

因此,如果我從商店安裝此應用程序但拒絕位置權限,安裝是否繼續或將會被暫停?然後,當我想要獲取用戶位置時,應用程序可能會崩潰,但應用程序沒有權限? – VasileF 2014-12-05 09:46:56

1

Windows Phone通用應用程序也使用WinRT API,下面介紹的相同的一般準則也適用於Windows Phone。但是,設置魅力存在差異。要測試的最佳方式是將Windows Phone應用程序發佈爲測試版,然後查看是否存在同意提示。

http://msdn.microsoft.com/en-us/library/windows/apps/hh768223.aspx

+0

如果我沒有弄錯,當應用程序從商店安裝時,Facebook官方微軟應用程序顯示這樣的對話框。我不知道這是否由操作系統自動處理或不... – VasileF 2014-12-02 16:13:03

+0

測試版的想法是不錯的,但我想也許有這樣的事情,然後穩定更新。 – VasileF 2014-12-02 16:14:03

+1

以下是關於測試應用程序的信息http://msdn.microsoft.com/en-us/library/windows/apps/jj215598(v=vs.105).aspx – 2014-12-02 20:53:42

相關問題