語言

User.GetUserAgeRangeAsync 方法

定義

取得當前使用者所屬的年齡範圍。

public:
 virtual IAsyncOperation<UserAgeRange ^> ^ GetUserAgeRangeAsync() = GetUserAgeRangeAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<UserAgeRange> GetUserAgeRangeAsync();
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<UserAgeRange> GetUserAgeRangeAsync();
function getUserAgeRangeAsync()
Public Function GetUserAgeRangeAsync () As IAsyncOperation(Of UserAgeRange)

傳回

一種非同步操作,會回傳當前使用者的 UserAgeRange ,或 null 當該年齡範圍未知或無法使用時。

屬性

Windows 需求

規格需求 Description
裝置系列
Windows 11, version 24H2 (已於 10.0.26100.0 引進)
API contract
Windows.Foundation.UniversalApiContract (已於 v19.0 引進)
應用程式功能
userAccountInformation

範例

#include <winrt/Windows.Foundation.h>
#include <winrt/Windows.System.h>

using namespace winrt;
using namespace winrt::Windows::System;

int wmain()
{
    init_apartment();

    User user = User::GetDefault();
    UserAgeRange range = user.GetUserAgeRangeAsync().get();

    if (range)
    {
        int32_t lower = range.Lower();
        int32_t upper = range.Upper();

        // Use the inclusive age bucket.
    }
    else
    {
        // Use the app's fallback experience.
    }
}
User user = User.GetDefault();
UserAgeRange range = await user.GetUserAgeRangeAsync();

if (range != null)
{
    int lower = range.Lower;
    int upper = range.Upper;

    // Use the inclusive age bucket.
}
else
{
    // Use the app's fallback experience.
}

備註

UserAgeRange.Lower 以及 UserAgeRange.Upper 包含界限。

年齡層 Lower Upper
10歲以下 0 9
10-12 10 12
13-15 13 15
16-17 16 17
18 歲以上 18 INT32_MAX

當使用者年齡未知、功能無法使用,或 API 被管理政策停用時,操作會回傳 null 。 null結果是預期結果,不應被視為確切年齡或18歲或以上的範圍。

  • 在執行當前程序的 使用者 物件中呼叫此方法。 使用 User.GetDefault 直接取得該使用者。
  • 應用程式套件必須宣告該 userAccountInformation 功能。 沒有存取權的呼叫者,或使用 User 不同使用者物件的呼叫者,可以接收 E_ACCESSDENIED。
  • 此方法會回傳一個年齡桶,而非使用者的確切年齡或出生日期。
  • 在 C++/WinRT 中,從合適的非 UI 執行緒呼叫 .get() ,或從協程中使用 co_await 。

行政政策

管理員可停用數位安全年齡 API,或透過群組政策或 MDM 設定預設年齡組。 當 API 被停用時,此方法會回傳 null。 當設定預設年齡組時,此方法會回傳 UserAgeRange 對應該組的 。

適用於

另請參閱