我已經在我的機器上安裝了芒果SDK,我想創建一個在Windows Phone OS 7.0和Windows Phone OS 7.5設備上運行的應用程序。另外我需要在同一個應用程序中實現許多芒果功能。可能嗎 ?如果是,請告訴我如何進行版本檢查,因爲基於我們需要實現芒果功能的版本。WP7.1向後兼容性
-2
A
回答
6
你將不得不維護兩個不同的版本。您無法同時編譯一個支持兩個版本的XAP。
Mango API僅在使用7.1 SDK編譯時纔可用。因此,您不能在代碼中進行聯機檢查。
但是這是毫無意義的,因爲幾乎沒有用戶還沒有升級到芒果,並且所有新手機都帶有芒果。
2
現在,所有的Windows手機都帶有Wp7.5芒果版本老的設備也在獲得芒果更新,所以它只針對少數運行WP7.0的手機看起來毫無意義。
但是,如果你不需要任何與SDK相關的API訪問,那麼你可以做這個分叉。
然而You can find the solution to the finding the OS version is in [my answer of same kind of question here.]1
2
可以使用Type類和反思,雖然過程並不容易做到這一點。創建了Windows Phone 7.0的應用程序,然後創建一個實現了芒果特定功能MangoExtensions類:
bool IsMangoDevice = (Environment.OSVersion.Version >= new Version(7, 1));
if (IsMangoDevice)
{
Type t = Type.GetType("Microsoft.Phone.Shell.StandardTileData, Microsoft.Phone");
//get the constructor for the StandardTileData and create a new instance of it
var newTileData = t.GetConstructor(new Type[] { }).Invoke(null);
//Get the setter method for the title property
var setMethod = newTileData.GetType().GetProperty("Title").GetSetMethod();
//Set the tile title
setMethod.Invoke(newTileData, new object[] { "This is my new tile" });
//Get the create method for the shell tiles
Type shellTileType = Type.GetType("Microsoft.Phone.Shell.ShellTile, Microsoft.Phone");
var createMethod = shellTileType.GetMethod("Create");
//Create the tile, with the uri and tile data
Uri uri = new new Uri("/MainPage.xaml?Test=This_Came_From_A_Secondary_Tile", UriKind.Relative)
createMethod.Invoke(null, new object[] { uri, newTileData});
}
相關問題
- 1. SYSTEM_UI_FLAG_IMMERSIVE_STICKY向後兼容性
- 2. .net 4向後兼容性
- 3. visual studio向後兼容性
- 4. GCC向後兼容性
- 5. VSTO 2012:向後兼容性
- 6. pandas.DataFrame.to_pickle向後兼容性
- 7. 向後兼容性play-1.2.3
- 8. C#的向後兼容性
- 9. 插件向後兼容性
- 10. Xcode向後兼容性
- 11. XSD向後兼容性
- 12. 向後兼容性dll
- 13. UIRefreshControl向後兼容性
- 14. Spring 4.0.0向後兼容性
- 15. Silverlight 5向後兼容性
- 16. DirectX的向後兼容性
- 17. UWP MediaPlayerElement向後兼容性
- 18. OpenGL向後兼容性
- 19. Visual Studio向後兼容性
- 20. 測試向後兼容性?
- 21. 二進制兼容性vs向後兼容性
- 22. html5數據屬性向後兼容性
- 23. Xcode向後兼容
- 24. 向後兼容Android
- 25. 向後兼容BackupAgent
- 26. ios5向後兼容
- 27. Office.Interop向後兼容?
- 28. iOS6向後兼容
- 29. MSVCRT向後兼容?
- 30. 向後兼容setOnDateSetListener
如果你讓爲自己的受衆特徵的應用程序,我完全同意這種說法;這裏唯一的問題是與客戶合作,說服他們放棄7.0的支持 - 我上次檢查時,微軟沒有發佈關於Mango vs 7.0的用戶百分比的任何信息。 – 2012-01-04 08:38:22