日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
      軟件
      軟件
      文章
      搜索

      首頁編程開發(fā)其它知識 → Windows Phone 7手機(jī)編程獲取手機(jī)的用戶信息和設(shè)備信息

      Windows Phone 7手機(jī)編程獲取手機(jī)的用戶信息和設(shè)備信息

      相關(guān)軟件相關(guān)文章發(fā)表評論 來源:本站整理時間:2011/1/24 23:09:34字體大。A-A+

      作者:佚名點(diǎn)擊:250次評論:4次標(biāo)簽: WindowsPhone7

      • 類型:電子教程大小:11.6M語言:中文 評分:7.5
      • 標(biāo)簽:
      立即下載

      在Windows Phone 7中如何獲取用戶信息和設(shè)備信息呢?只需要使用Microsoft.Phone.Info命名空間下的UserExtendedProperties類和DeviceExtendedProperties類對應(yīng)的成員函數(shù)就可以了。具體怎樣操作?請看正文。

      獲取用戶信息

      使用UserExtendedProperties類的GetValue和TryGetValue方法即可。目前這兩個函數(shù)的入?yún)ⅲ贾恢С帧癆NID”。

      GetValue用法如下:

      1 string anid = UserExtendedProperties.GetValue("ANID") as string;

      2 string anonymousUserId = anid.Substring(2, 32);

      TryGetValue用法如下:

      view sourceprint?1 object anid = new object();

      2 string anonymousUserId = "";

      3 if (UserExtendedProperties.TryGetValue("ANID", out anid))

      4 {

      5 anonymousUserId = anid as string;

      6 anonymousUserId = anonymousUserId.Substring(2, 32);

      7 }

      需要注意的是,如果你的WP7手機(jī)沒有綁定Live ID,GetValue返回的字符串為null,TryGetValue返回的對象也為null。因此在項目中要注意對返回字符串和對象的非空判斷。

      獲取設(shè)備信息

      與獲取用戶信息相似,使用DeviceExtendedProperties類的GetValue和TryGetValue方法,這兩個方法的使用方式也與上面相同,不同的是入?yún)。Windows Phone 7可以獲取的設(shè)備信息如下:

      屬性名稱 值類型 描述 補(bǔ)充說明
      DeviceManufacturer
      字符串
      (最大長度256) 設(shè)備的生產(chǎn)廠商。該字符串沒有標(biāo)準(zhǔn)格式。微軟建議同一個廠商生產(chǎn)的手機(jī)使用相同的字符串,但這不是強(qiáng)制的。 注意,該值也可能為空
      DeviceName 字符串
      (最大長度256) 設(shè)備名稱。該字符串沒有標(biāo)準(zhǔn)格式。 注意,該值也可能為空
      DeviceUniqueId
      長度為20的byte數(shù)組 設(shè)備的唯一標(biāo)識。該值是唯一不變的,即使系統(tǒng)升級。 注意,不要使用該值來標(biāo)識用戶,因為用戶可能可以更換手機(jī),同一手機(jī)也有可能被不同用戶使用
      DeviceFirmwareVersion 一個字符串 當(dāng)前設(shè)備運(yùn)行的固件版本。如果安裝了新版本的固件,該值將會增長。 注意,該值也可能為空
      DeviceHardwareVersion
      一個字符串 當(dāng)前設(shè)備的硬件版本。 注意,該值也可能為空
      DeviceTotalMemory
      長整型 設(shè)備物理內(nèi)存的大。▎挝皇荁yte) 該值通常小于實(shí)際的RAM大小略小,因此可以用它來判斷RAM是否夠用。
      ApplicationCurrentMemoryUsage
      長整型 當(dāng)前應(yīng)用程序使用的內(nèi)存(單位是Byte) 可以用它來觀察當(dāng)前應(yīng)用程序消耗內(nèi)存的情況
      ApplicationPeakMemoryUsage
      長整型 當(dāng)前應(yīng)用程序泄漏的內(nèi)存(單位是Byte) 可以用它來觀察當(dāng)前應(yīng)用程序內(nèi)存泄漏情況

      先來看看獲取設(shè)備廠商的方法:

      1 string strDeviceManufacturer = DeviceExtendedProperties.GetValue("DeviceManufacturer").ToString();

      其它的設(shè)備信息獲取都與設(shè)備廠商一樣,把GetValue或TryGetValue的參數(shù)換一下就可以了。

      有一個有點(diǎn)不同,就是DeviceUniqueID。有時候我們就需要保存一個字符串來標(biāo)識設(shè)別的唯一性就好了,用Byte數(shù)組有點(diǎn)麻煩,我在這里遍歷了該數(shù)組,把它轉(zhuǎn)為了一個長度為60的字符串,代碼如下:

      01 byte[] byteArray = DeviceExtendedProperties.GetValue("DeviceUniqueId") as byte[];

      02 string strTemp = "";

      03 string strDeviceUniqueID = "";

      04 foreach (byte b in byteArray)

      05 {

      06 strTemp = b.ToString();

      07 if (1 == strTemp.Length)

      08 {

      09 strTemp = "00" + strTemp;

      10 }

      11 else if (2 == strTemp.Length)

      12 {

      13 strTemp = "0" + strTemp;

      14 }

      15 strDeviceUniqueID += strTemp;

      16 }
      1 我在Demo中的界面只放置了幾個獲取設(shè)備信息的Button和TextBlock,很多都一樣,就沒有都列出來

      1 上圖是我在模擬器上運(yùn)行的結(jié)果,無法綁定LiveID,所以用戶信息一項取不到,為空。其它都正常。
      1 我在真機(jī)上測試都可以取到相關(guān)信息。:)
      1 為了方便大家使用,我把獲取用戶和設(shè)備信息的代碼封裝到了一個類中,都是Public的靜態(tài)方法,直接就可以用了。
      demo下載

        相關(guān)評論

        閱讀本文后您有什么感想? 已有人給出評價!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過難過
        • 5 囧
        • 3 圍觀圍觀
        • 2 無聊無聊

        熱門評論

        最新評論

        發(fā)表評論 查看所有評論(4)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)