2.2 ... 4.0のようなAndroidのアンドロイドバージョンを検出しようとしています。私はAsp.Net 4.0 MVC 3.0 C#でWebアプリケーションを開発しています。私はHttpBrowserCapabilitiesBase
クラスで試してみました。どのように私はこれを達成することができますか?
すべてのアイデアは高く評価されています。
ありがとうございます。ASP.Netを使用してサーバー側でAndroidバージョンを取得
答えて
HttpRequest.UserAgentの値を確認する必要があります。
user agent valuesに「Android 2.2」、「Android 3.0」などが含まれている必要があります。
どのようにバージョンを区別できますか? 1つの機能をAndroid 2.1〜4.0でサポートする必要がある場合、どうすればこのことができますか?私は範囲の配列を作成したくありません。 – SocialCircus
socialCircus - 携帯との関連で扱った領域ではありませんが、html5機能がサポートされていない場合、機能をダウンスケールするので、近代化はスイッチ/ケースステートメントに頼らずにこれらの互換性の問題を助けません。 –
@ socialCircusは、ユーザーエージェント文字列から正確な情報を抽出することはあなた次第であり、正規表現または部分文字列で行うことができます。なぜあなたはビュー上のブラウザ機能を発見するのではなく、サーバー側のUAをチェックしようとしているのですか? – 48klocs
mvcmobile nugetテンプレートから取得したもので、携帯端末を見ているかどうかを判断する手段です。コントローラで
public static bool IsSupportedMobileDevice(this HttpRequestBase request)
{
bool isMobile = request.Browser.IsMobileDevice;
string userAgent = request.UserAgent.ToLowerInvariant();
isMobile = isMobile
|| (userAgent.Contains("iphone")
|| userAgent.Contains("blackberry")
|| userAgent.Contains("mobile")
|| userAgent.Contains("windows ce")
|| userAgent.Contains("opera mini")
|| userAgent.Contains("palm")
|| userAgent.Contains("fennec")
|| userAgent.Contains("adobeair")
|| userAgent.Contains("ripple")
);
return isMobile;
}
用法:
if (Request.IsSupportedMobileDevice()){...}
をこのnugetテンプレートは、実際に見てみたの価値が、非常に便利ですが合うように/リファクタリングを編集することができます。参照:
http://visualstudiogallery.msdn.microsoft.com/9df9c61c-4d90-43e5-9aa1-a58786b7a1e4?SRC=VSIDE
このテンプレート実際の機能は、サーバ側のモバイルデバイスを検出した場合、モバイルデバイス用にレンダリングされるモバイル特定のビューを可能にし、それによって、viewengineオーバーライドを作成することによって。私は言わざるを得ない、私の簡単なテストでこれまでのところかなりうまくいく。
[編集] - iphoneのために、生産userAgentには、次のとおりです。
mozilla/5.0 (iphone; u; cpu iphone os 4_0 like mac os x; en-us) applewebkit/532.9 (khtml, like gecko) version/4.0.5 mobile/8a293 safari/6531.22.7
と、一般的なAndroid用:
Mozilla/5.0 (Linux; U; Android 2.3.3; en-us; HTC_DesireS_S510e Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
あなたはそのためUserAgent文字列を解析し、どこで見つけることができ上記の例では、すべてのuserAgent文字列で定数となることを100%確信しているので、 'version'は(上の例では-)配置されています。明らかに、これは様々な「アンドロイドではない」デバイスでは面倒ですが、その可能性をうまく説明できます。
これはブラウザをチェックします。私は、デバイスが動作しているOSのバージョンを検出する必要があります。 – SocialCircus
socialCircus - gotcha、もし私がそれ以上の研究でそれを明らかにすることができたら、私は見ていきます。tho、バージョンは確かにそのuserAgent文字列の中に含まれています。上記の私の編集を参照してください。今g'night! :) –
WURLF http://wurfl.sourceforge.net/dotNet/これを行うことができます。かなり簡単にセットアップして使用する
- 1. Facebook API:access_tokenサーバー側を取得してクライアント側で使用する方法
- 2. ASP.Net Webアプリケーションを使用してサーバー側でSVNを更新
- 3. Quilljs - QuillJSテキストエディタを使用してASP.netのサーバー側でデータを取得する方法
- 4. ASP.NETサーバー側コントロールのオフセットを取得できません
- 5. asp.netのサーバー側でhtml入力値を取得
- 6. フォームを使用してAndroid APKサーバー側を作成する
- 7. AngularJSを使用してサーバー側から配列を取得する方法は?
- 8. ajaxを使用してサーバー側からMapオブジェクトを取得する方法
- 9. サーバー側からクライアント側にファイルのダウンロード時間を取得する方法 - Asp.Net?
- 10. OAuthサーバー側を使用してFacebookログアウト
- 11. ユーザエージェント値の取得。サーバー側とクライアント側?
- 12. モデルを使用しないASP.NET MVC ajaxサーバー側の検証
- 13. asp.netのサーバー側の検証エンティティフレームワークを使用したMVC 3
- 14. PHPでWebサーバーのバージョンを取得
- 15. ASP.NETサーバー側のフロー認証とアクセストークンの取得
- 16. プログラムでASP.NETバージョンを取得する
- 17. ASP.netサーバー側ListBoxコントロール - コントロールが無効なときに値を取得します。
- 18. サーバー側のGetElementByID、asp.net?
- 19. ASP.NETサーバー側のJavascript
- 20. Googleアカウントのサーバー側APIキーを取得
- 21. jqGridサーバー側からデフォルトエントリを取得
- 22. paper_trailを使用してバージョンIDの次のバージョンと前のバージョンを取得
- 23. asp.netのサーバー側でdropdownlistboxの値を複数取得する方法は?
- 24. ApacheサーバーでASP.Netアプリケーションを取得する
- 25. Android PHP Webサービスを使用してサーバーから配列を取得する
- 26. GoogleアナリティクスAPI - サーバー側でページビューをプログラムで取得します
- 27. クライアント側スクリプトを使用してJSONオブジェクトを取得する
- 28. JavaScriptを使用してサーバ側から関数を取得
- 29. vis.jsを使用してサーバ側からデータを取得
- 30. Androidサーバーのデータを取得
あなたの研究で[これ](http://stackoverflow.com/q/8073800/1101070)の質問に出くわしましたか? –
@Marvin Pintoはい、私は質問に出ましたが、それはサーバー側のコードから行うことについて話しませんでした。ありがとうございました – SocialCircus
十分に公正、私はちょうどあなたがクライアント側について不確かな場合は、本当に言及する。 –